Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
184 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Aneka: A Software Platform for .NET-based Cloud Computing (0907.4622v1)

Published 26 Jul 2009 in cs.DC, cs.CE, cs.NI, cs.OS, cs.PL, and cs.SE

Abstract: Aneka is a platform for deploying Clouds developing applications on top of it. It provides a runtime environment and a set of APIs that allow developers to build .NET applications that leverage their computation on either public or private clouds. One of the key features of Aneka is the ability of supporting multiple programming models that are ways of expressing the execution logic of applications by using specific abstractions. This is accomplished by creating a customizable and extensible service oriented runtime environment represented by a collection of software containers connected together. By leveraging on these architecture advanced services including resource reservation, persistence, storage management, security, and performance monitoring have been implemented. On top of this infrastructure different programming models can be plugged to provide support for different scenarios as demonstrated by the engineering, life science, and industry applications.

Citations (263)

Summary

  • The paper introduces Aneka, a .NET-based Platform as a Service (PaaS) for building and deploying applications on public and private clouds.
  • It details Aneka's layered service architecture and its support for multiple programming models like Task, Thread, and MapReduce.
  • Practical applications in gaming (3D rendering) and manufacturing (log parsing) demonstrate Aneka's scalability and efficiency for real-world industrial workloads.

Overview of "Aneka: A Software Platform for .NET-based Cloud Computing"

The paper "Aneka: A Software Platform for .NET-based Cloud Computing" delineates a comprehensive framework designed for deploying and developing applications on both public and private cloud infrastructures using the .NET platform. Authored by Christian Vecchiola, Xingchen Chu, and Rajkumar Buyya, the manuscript delves deeply into the functional architecture and capabilities of the Aneka platform, highlighting its role as a Platform as a Service (PaaS) solution tailored for .NET environments.

Platform Architecture and Services

Aneka stands out in its ability to utilize a service-oriented architecture to provide flexibility and extensibility in cloud computing. The platform comprises a network of software containers that form a customizable and adaptable runtime environment to support various programming models. Central to its design is the Aneka Container, which serves as a deployment unit, fostering distributed application execution. The container architecture is stratified into several core services—fabric, foundation, execution, and transversal services—that together render a robust environment for application development and management.

  1. Fabric Services: These services handle the execution environment's interface with the physical and virtual resource provisioning subsystem. They are integral in dynamically scaling cloud resources to fulfill computational demands, leveraging hardware profiling to adapt deployment to different infrastructures, including Amazon EC2.
  2. Foundation Services: Foundation services facilitate critical cloud functionalities such as directory and membership, resource reservation, storage management, and pricing, thus ensuring that cloud infrastructure is efficiently managed and meets quality of service (QoS) requirements.
  3. Execution Services: Execution services are tasked with job scheduling and execution, underpinned by the Aneka programming models. The distributed task execution is managed through services like scheduling and execution, specifically supporting models such as Task Model, Thread Model, and MapReduce Model.
  4. Transversal Services: These services, encompassing persistence and security, pervade all layers of the Aneka platform, ensuring system reliability and secure application execution.

Programming Models

Aneka supports several programming abstractions that offer developers different paradigms for expressing distributed applications:

  • Task Programming Model: Facilitates the execution of independent tasks without explicit sequencing, making it suitable for embarrassingly parallel problems.
  • Thread Programming Model: Provides a distributed threading API analogous to .NET's threading library, allowing for easy adaptation of multi-threaded applications into a distributed environment.
  • MapReduce Programming Model: Implements the functionality of Google's MapReduce, supporting data-intensive tasks by processing and reducing key/value pairs.

Each of these models serves a specific type of application logic, thereby extending Aneka’s usability across various application domains.

Implications and Case Studies

Aneka's implementation extends beyond fundamental research applications, finding relevance in industry verticals such as gaming and manufacturing. For instance, GoFront Group utilized Aneka for accelerating 3D rendering tasks in train model development, achieving significant reductions in processing times by exploiting distributed cloud resources. Similarly, the platform was employed by TitanStrike Gaming for scalable log parsing, indicating its capacity for managing real-time data processing at scale.

Future Directions

The paper also outlines the potential evolutionary path of Aneka, emphasizing enhancements in elastic scaling through integration with IaaS offerings like Amazon EC2. This forward-looking stance aims to bolster the platform’s capabilities in dynamically responding to workload demands, a critical characteristic for meeting contemporary performance benchmarks in cloud computing environments.

In summation, the paper thoroughly explicates the architecture and versatile capabilities of Aneka, demonstrating its unique positioning as a PaaS solution supporting diverse application requirements while leveraging the .NET ecosystem. Its strategic design facilitates extensive scalability and resource efficiency, marking an important contribution to cloud computing frameworks.