AWS Case Study: PSR
PSR has been providing technology solutions and consulting services to natural gas and electric utilities since 1987. With clients in more than 30 countries throughout Latin America, North America, Europe, and Asia Pacific, PSR is truly a global entity. From its headquarters in Rio de Janeiro, Brazil, energy experts develop tools that help utility companies make crucial business decisions, enabling the companies to best position themselves in the highly competitive gas and electricity markets. Other specialties include performing integrated economic/financial/market design studies, developing strategic investment advice for investors, and creating integrated environmental and energy studies.
When cloud computing technology first emerged, PSR recognized that cloud computing was perfect for its products. Mario Veiga Pereira, PSR's president, expounds: "For us, cloud computing seemed to be the inevitable future of massive computations, which our models are heavily based on. Our first contact with the concept was in an issue of the journal, Nature, in which AWS (Amazon Web Services) was cited as a provider. We immediately started our AWS account and moved our services to the cloud."
Why Amazon Web Services
The Stochastic Dual Dynamic Programming (SDDP) algorithm was the first PSR product moved to the cloud. Based on scientific calculations of the hydrothermal resources of an energy system and other factors, SDDP introduces a time-coupling relationship between operation decisions and subsequent consequences. Since SDDP, numerous PSR products and services have moved to the cloud.
PSR's products execute multiple optimization models that, for some customers' datasets, would require an unfeasible amount of time to run on a single server. For such cases, PSR's optimization methodology enables parallelization of the computation, employing a cluster of machines to provide execution of the job in reasonable time. The usage of Amazon EC2 Cluster Compute Instances as the infrastructure for these jobs frees PSR from the need to build and maintain a high-performance datacenter facility.
Moreover, it allows the delivery of resources that had not previously been possible due to the large capital investment that would have been required to support periods of peak usage.
All instances of PSR products submit their jobs to a central point in PSR's architecture, the PSR Cloud server. It is up to this server to decide whether each job should proceed, and in which order, based on current EC2 instance usage and cost. This module creates the EC2 instances, controls them, and terminates them after the completion of the processing.
In deploying its services to the cloud, PSR uses several modules:
PSR Cloud Client - This module is embedded with products that facilitate cloud computing. PSR's "FakeProcess" component handles interaction with the resources deployed in the AWS cloud, all in a manner that is completely transparent to the user interface and the client's locally-running application. An interface allows applications to request the execution of models, download remote reports, check the status of case executions, and perform all other cloud-related services.
PSR Cloud Server - This centralized module provides web services and receives requests from PSR Cloud clients. It uses three sub-modules for cloud-related tasks:
- Authorization Module - Authenticates each request and authorizes the user to proceed with the requested operation.
- Queuing Module - Queues the authorized requests for asynchronous processing.
- Cloud Wrapping Module - Executes each service in the queue by allocating the resources needed for the computations. This component uses the Software Development Kits (SDKs) offered by AWS.
The PSR architecture is depicted in the following diagram:
Since moving to the cloud, PSR has recorded impressive results. Mr. Pereira explains: "AWS is important to our consulting services in order to run our mathematical models in tolerable execution times, as well as for our customers when they buy our models to run them on their own. Internal measurements have been taken and the expected power of the cloud was proven to be the right direction. As an example, a glance of AWS usage in October 2010 revealed over 44,000 processor hours were carried out, which would have required 76 days to be handled using the local available infrastructure under assumption of high availability. In one case, 1,024 processors were used in parallel, which would not be possible using the local infrastructure."
Peak usage and available capacity are crucial for running the PSR models—peak usage optimizes the quality of the results while available capacity is necessary to run simulations in parallel. Successfully achieving these requirements had previously been a balancing act, but AWS's cloud computing successfully addresses both requirements in the best possible way—there is plenty of capacity and PSR pays only for capacity used. The company is presently exploring Amazon Elastic MapReduce as an option to generate reports more quickly.
Since becoming the first company in Latin America to migrate to AWS, PSR has invested heavily in researching resources that multiply computation capabilities and in the development of cloud services for its clients. "We are very happy with the experience so far and have the feeling that it is just starting," confirms Mr. Pereira.
To find out more about how AWS can help you store and process big data, visit our Big Data details page: http://aws.amazon.com/big-data/.