Source-linked AI summary

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

Christian Vecchiola, Xingchen Chu, Rajkumar Buyya

arXiv:0907.4622v1cs.DCcs.CEcs.NIcs.OScs.PLcs.SE

TL;DR

The paper addresses the need for a platform that simplifies distributed application development and deployment across cloud infrastructures. It presents Aneka, a customizable .NET-based service-oriented runtime built from connected containers and supporting multiple programming models. Case studies across scientific, educational, and industrial scenarios demonstrate the framework’s flexibility for real-life applications, while elastic scaling remains under development.

  • Problem

    Distributed cloud applications require development abstractions, execution infrastructure, and services for managing heterogeneous resources and applications.

  • Method

    Aneka provides an extensible service-oriented runtime of connected containers, APIs, cloud-management facilities, and pluggable programming models.

  • Results

    Case studies in scientific research, education, and industry demonstrate Aneka’s flexibility and maturity for real-life commercial problems.

  • Takeaways & Limitations

    Aneka supports cloud application development through customizable services and programming models including independent bag of tasks, distributed threads, and MapReduce.

  • Takeaways & Limitations

    Full elastic scaling based on virtualized resources was still under development, with initial Amazon EC2 tests completed for a future management-API release.

Abstract

from arXiv · show

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.

Introduction

Cloud Computing delivers IT resources on demand through a global, pay-per-use utility model, while Aneka targets distributed application development as a Platform as a Service. It combines application programming abstractions, execution infrastructure, and advanced cloud features.

  • Cloud Computing delivers IT resources on demand on a pay-per-use basis, extending utility-style service delivery to computing.
  • The Cloud Computing vision spans computing, storage, and the broader software stack rather than a single resource type.
  • Because the complete software, platform, infrastructure, and hardware stack is rarely supplied by one solution, providers commonly specialize in one or more layers.
  • Aneka is a .NET-based framework for distributed applications that offers multiple ways to express application logic and supports scalable execution on cloud infrastructures.
  • Aneka also provides resource reservation, computation pricing, and integration with infrastructures such as Amazon EC2.

1. Cloud Computing Reference Model and Technologies

The Cloud Computing reference model organizes cloud delivery across interconnected, virtualized resources and service layers, with elasticity and pay-per-use as central characteristics. Aneka occupies the Platform as a Service layer while addressing development and deployment needs.

  • Cloud Computing is described as delivering software and infrastructure as services, potentially on a pay-per-use basis.
  • The layered cloud stack progresses from physical resources and core middleware to programming tools and cloud applications.
  • Core middleware manages physical infrastructure and can use virtualization to provide application isolation, quality of service, and sandboxing.
  • Cloud elasticity lets applications acquire resources during peak workloads and release them as demand decreases.
  • Public-cloud deployment introduces legal, security, privacy, and confidentiality concerns because infrastructure and stored data may span jurisdictions.
  • Aneka is a pure Platform as a Service implementation with a .NET SDK, support for .NET languages, and tools for deploying clouds on Windows and Linux systems.

2. Aneka Architecture

Aneka uses interconnected containers and extensible services to deploy and manage distributed applications across heterogeneous public or private cloud resources. Its architecture supports customizable services, multiple programming models, and elastic resource use.

  • 2. Aneka Architecture: Aneka provides APIs for distributed applications and can exploit heterogeneous desktop, server, or datacenter resources in public or private clouds.
  • 2. Aneka Architecture: Aneka is portable across platforms and operating systems through .NET and other implementations of the ECMA 334 and ECMA 335 specifications.
  • 2.1. Overview: Each Aneka resource hosts a Container runtime, while fabric, foundation, and execution services handle node interaction, core middleware, scheduling, and execution.
  • 2. Aneka Architecture: Aneka integrates independent bags of tasks, distributed threads, and MapReduce as programming models for expressing distributed application execution logic.
  • 2.1. Overview: The Container is the basic deployment unit and hosts services that can be customized for resource reservation, storage, persistence, scheduling, execution, and other needs.
  • 2. Aneka Architecture: The architecture supports cloud flexibility through customizable container services and elasticity through on-demand changes to the number of cloud nodes.

2.2. Anatomy of the Aneka Container

The Aneka Container is the basic deployment unit and a lightweight, service-oriented component that forms the runtime environment for distributed applications. Its configurable service set can adapt to changing application needs.

  • The Container is Aneka’s basic deployment unit, and connected containers form the middleware runtime environment for distributed applications.
  • Aneka organizes container services into fabric, foundation, execution, and transversal groups.
  • Fabric services interface with resources, foundation services provide runtime support, execution services manage applications, and transversal services support security and persistence.
  • Services can be added or removed through configuration updates, allowing the Container to scale its installed functionality up or down as application needs change.

2.3. Fabric Services

Fabric services connect the Aneka Container to its host resources, support dynamic node provisioning, and expose platform-independent hardware information. These capabilities support elastic scaling, scheduling, and resource reservation.

  • Fabric services provide access to resource provisioning and the hosting machine’s hardware.
  • The Platform Abstraction Layer makes the Container independent of the host machine and operating system, supporting portability across platforms.
  • Hardware profiling collects static and dynamic CPU, memory, and storage information for supported runtimes and platforms.
  • Collected node information is shared with other services, enabling scheduling components to use dynamic performance data for more efficient application scheduling.
  • Dynamic resource provisioning acquires and integrates nodes on demand so the Aneka Cloud can scale up or down with application requirements.
  • Resource provisioning and hardware profiling support reservation by allowing applications to request nodes with specified characteristics and quantities.

2.4. Foundation Services

Foundation services provide Aneka’s core middleware support, including directory management, licensing, accounting, pricing, reservation, and storage. Together, they coordinate resources, application data, quality of service, and cloud administration.

  • Foundation services form the core of Aneka middleware and provide runtime support for execution services and applications.
  • Directory and Membership: Directory and Membership Services maintain information about cloud nodes and services through a membership catalogue, heartbeat service, and discovery service.
  • Resource Reservation: Resource reservation lets users reserve nodes for a specified application and time frame, making selected resources available when required for execution.
  • Resource Reservation: The Reservation Service tracks the cloud-wide allocation map, while the Allocation Manager checks local reservation windows before jobs execute.
  • Resource Reservation: Reservation supports flexible pricing through alternate offers when requested quality-of-service parameters cannot be met, alongside dynamic provisioning of additional computation nodes.
  • Storage Management: The Storage Service provides persistent file-based storage, stages files across Aneka nodes, and transfers data among nodes, clients, and remote servers.
  • Storage Management: Aneka’s storage architecture integrates and composes facilities across mediums and protocols, enabling data interoperability.
  • Licensing, Accounting, and Pricing: Licensing restricts cloud resources and services available to deployments, while Accounting tracks applications and reservations and Pricing supports flexible billing strategies.

2.5. Execution Services

Execution services manage distributed application execution, which Aneka represents as collections of jobs. Scheduling and execution components can dynamically integrate reservation and storage services, while deployments may use master-slave or more balanced topologies.

  • Aneka represents a distributed application as a collection of jobs managed by execution services.
  • Each programming model requires Scheduling and Execution Services to coordinate and perform application execution.
  • Execution services can dynamically integrate Reservation and Storage Services to support quality of service and data transfer without static binding.
  • A common deployment concentrates scheduling services on a few nodes and execution services on others, creating a master-slave topology.
  • Aneka’s service-oriented architecture also permits more balanced and dynamic topologies designed by system administrators.

2.6. Transversal Services

Aneka’s transversal services span persistence and security across the software stack, supporting recovery, configurable storage, authentication, and authorization.

  • Transversal services affect all Container layers and include persistence and security infrastructure.
  • The persistence layer records applications, Cloud topology, execution status, and storage status for recovery after crashes or partial failures.
  • Aneka offers in-memory persistence for fast testing and relational-database persistence for more reliable production storage.
  • Relational-database persistence uses ADO.NET and supports MySQL 5.1 and SQL Server 2005 v9.0 onward.
  • The persistence layer is extensible through new implementations or SQL scripts, while security separates authentication from authorization through configurable providers and credentials.

2.7. Portability and Interoperability

Aneka addresses heterogeneous Cloud environments through a Platform Abstraction Layer that hides operating-system and hardware dependencies while supporting multiple platforms.

  • Aneka’s PaaS services rely on existing virtual and physical infrastructure and require .NET or Mono implementations of ECMA 335.
  • The virtual runtime supports multiple platforms and operating systems with reduced or no conversion costs, despite hardware-interacting components.
  • The Platform Abstraction Layer provides a unified interface for Aneka’s relevant operating-system and hardware properties.
  • The PAL standardizes platform profiling, extended properties, remote-node access, and management interfaces.
  • The PAL abstracts Container installation, deployment, and automatic configuration on physical or virtual machines.
  • Aneka provides complete PAL implementations for Windows/.NET and Linux/Mono, plus a partial working implementation for Mac OS X/Mono.

3. Application Development

Aneka combines a .NET SDK, a generic application model, and pluggable programming models for developing and executing distributed Cloud applications.

  • Aneka provides runtime infrastructure and APIs for developing applications on public or private Clouds, including application-control APIs and programming models.
  • The SDK includes tutorials, base class libraries, the Aneka Application Model, and implementations for supported programming models.
  • The Application Model treats an application as the deployment unit containing execution units whose scheduling depends on the programming model.
  • Generic application services span storage, persistence, file management, monitoring, accounting, and security across programming models.
  • Programming models: Task, Thread, and MapReduce models provide abstractions ranging from independent task collections to remotely coordinated threads and data-intensive map/reduce processing.
  • Programming models: MapReduce hides runtime-generated task creation while transparently integrating that behavior with Aneka’s infrastructure.
  • Extensibility: A new programming model requires application-composition abstractions plus scheduling and execution components, which Aneka integrates as services.
  • Application execution: Aneka can run existing applications repeatedly with different parameter values without changing their execution logic or behavior.

4. Cloud Maintenance and Monitoring

Aneka’s management tools support remote Cloud setup, configuration, control, monitoring, and performance tuning across large physical and virtual infrastructures.

  • The Management API and Platform Abstraction Layer expose operations for monitoring, managing, maintaining, and setting up computing Clouds.
  • Management Studio provides administrators with a graphical environment for managing every aspect of Aneka Clouds remotely and globally.
  • Management Studio supports quick Cloud setup, remote node installation and configuration, remote Container control, and system load monitoring and tuning.
  • Aggregate Cloud statistics and per-node CPU and memory loads help administrators tune overall and individual-node performance.
  • Web services expose resource reservation and negotiation, task submission, and monitoring, while other management features remain under development and testing.

5. Case Studies

Aneka case studies show distributed execution applied to scientific optimization, learning classifiers, and industrial rendering. These deployments reduced computation time or addressed scalability by parallelizing existing applications on cloud infrastructure.

  • Scientific applications: Aneka supported distributed evolutionary optimizers and learning classifiers, with significant speedup over execution on a single local machine.Legacy applications were packaged for distributed execution using a small coordinating software component.
  • Scientific applications: EMO partitions its population into smaller populations, runs them in parallel, merges the results, and repeats this process for a predefined number of iterations.The distributed implementation uses a divide-and-conquer strategy on Aneka.
  • Scientific applications: For EMO, speedup was significant with 500 individuals, while distribution overhead was negligible across tested problems with 1000 individuals.Small populations provided no advantage, and topology information becomes useful with at least 1000 individuals.
  • Scientific applications: Distributed XCS classifiers were tuned on Aneka for breast-cancer diagnosis using Gene Expression datasets partitioned across parallel classifier-learning processes.The learning process evolved different classifiers from dataset sections for a predefined number of iterations.
  • Industrial applications: GoFront deployed a private Aneka Cloud using one master and 30 slave nodes to distribute train-model rendering across existing desktop computers and servers.Aneka's task programming model supported the solution's implementation.
  • Industrial applications: Using spare cycles from 30 desktop machines reduced GoFront's train-rendering process from days to a few hours compared with a single four-core machine.A software tool distributed frames and composed the final rendering on the private cloud.

6. Conclusions and Future Directions

Aneka is a Platform as a Service framework built around extensible containers and services for developing, deploying, and managing cloud applications. Its integrated programming models and case studies demonstrate support across scientific, educational, and industrial scenarios, while elastic scaling remains under development.

  • Framework: Aneka provides .NET APIs and a Platform as a Service framework for designing and implementing cloud applications.The framework supports cloud computing applications through a platform-oriented approach.
  • Architecture: Aneka Containers provide customizable runtime environments hosting services for reservation, storage, persistence, scheduling, and execution.Containers are the minimum deployment unit for Aneka Clouds and services form their extension points.
  • Programming models: Aneka integrates independent bag of tasks, distributed threads, and MapReduce programming models through its service-oriented architecture.A reference model supports implementing new programming models, and an SDK provides samples, tutorials, and API documentation.
  • Cloud management: Management Studio and web interfaces support setting up, monitoring, configuring, and managing public or private Aneka Clouds.Web interfaces enable programmatic management of Aneka Clouds.
  • Applications: Case studies across scientific research, education, and industry demonstrate Aneka's flexibility and reported maturity for commercial-environment problems.The chapter presents these applications as Aneka success stories.
  • Future directions: Elastic scaling with virtualized resources is a future direction, with initial Amazon EC2 tests completed and expanded management APIs planned.Aneka remains under continuous development, including interaction with other virtual-machine managers.
Loading 0907.4622v1…