Submission date: April 8, 2013
Purpose: To describe the implementation of key components of the prototype scalable Erlang Virtual Machine release: the implementation of its scalable Erlang Term Storage, its efficient tracing support for profiling and monitoring, and the preliminary port of Erlang VM on a Blue Gene/Q.
Results: The main results of this deliverable are
- A scalable implementation of the Erlang Term Storage (ETS) mechanism that is already included in Erlang/OTP R16B (released in late February 2013) and the description of alternative designs, which currently exist as prototypes, that will increase the scalability of ETS further.
- An efficient tracing support based on DTrace/SystemTap that Erlang/OTP offers since release R15B01 (April 2012) for profiling and monitoring Erlang applications.
- A preliminary port of the Erlang VM on the Blue Gene/Q and the description of its status.
Conclusion: The two key components of the scalable Erlang VM release that we describe in this document, scalable ETS and efficient tracing support, are already part of Erlang/OTP and used by the Erlang community. The Blue Gene/Q port of Erlang/OTP is complete and fully functional on the front end nodes, but significant work still remains for the Erlang VM to execute efficiently on the compute nodes of the machine.
Submission date: March 31, 2013
Purpose: To implement and validate a scalable computation model for Scalable Distributed (SD) Erlang.
Results: The main results of this deliverable are
- To improve the scalability of Distributed Erlang we have split the global namespace and reduced the number of connections following the design presented in deliverable D3.1. That is we group Erlang nodes into s_groups where each s_group has its own namespace.
- We have implemented sixteen functions to support node grouping and name registration.
Conclusion: We have implemented and validated a scalable computation model for SD Erlang.
Submission date: January 9, 2013
Purpose: To build and describe a framework that enables automatic deployment and monitoring of an Erlang/OTP application into a given number of Erlang nodes running in a heterogeneous cloud environment.
Results: The main results of this deliverable are
- We revisited the CCL architecture presented in deliverable D4.2, moving from a command-line tool to a fully-blended virtualization infrastructure.
- We moved from a homogenous deployment environment to a heterogeneous one.
- We presented the RELEASE project at two major conferences (HiPEAC and Codemotion), collaborated with a team from a parallel FP7 project (Prowess) and started a thesis project about the implementation of a CCL plugin.
Conclusion: In this deliverable we have introduced a revised architecture for the developed prototype such that we are now capable of deploying Distributed Erlang applications on different Cloud infrastructures. The introduced architectural changes pave the way for adding control and monitoring functionalities which will enable users to deploy Distributed Erlang applications in a heterogeneous infrastructure, based on capability profile matching.
Submission date:September 30, 2012
Purpose: To design and deliver an offline profiling tool reporting monitoring and visualization results in static reports and interactively.
Results: The main results of this deliverable are
- Percept2, a version of the Percept tool enhanced with functionality to support multicore and distributed systems, and also refactored to support scalability.
- Extension of the built-in Erlang tracing mechanism to support scalability.
- Sampling-based profiling of Erlang systems.
- Extension of the DTrace/SystemTap system for Erlang including new probes, and reports.
Conclusion: We have delivered a first set of tools to support profiling for SD Erlang.
Submission date:September 30, 2012
Purpose: To identify and outline the main methods used to disseminate results from the project to the members of the public by means of academic and commercial activities. Also to identify other Framework Programme projects with similar research areas and how RELEASE will work with them.
Results:
- We have developed, and are pursuing, a multi-strand dissemination policy.
- We have established a process for evolving the dissemination plan during the period of the project.
- We are engaging the scientific community with publications, talks, interactions with related projects etc.
- We are engaging the commercial sector with presentations at industry forums.
- We are contributing to Open Source software.
Conclusion: We have developed, and are pursuing, a multi-strand and evolving dissemination plan. We are engaging the public via a website, press releases, posters etc. We are engaging the scientific community with publications, talks, interactions with related projects etc. We are engaging the commercial sector with presentations at commercial conferences and industry forums. We are contributing software, for example improving the Erlang/OTP framework with Virtual Machine upgrades, improved tools and a benchmark suite. We will continue to disseminate results through the described channels in the next year of the project and will update this document appropriately at the end of the second year.
Submission date:July 16, 2012
Purpose: To build and describe a framework that enables automatic deployment of an Erlang/OTP application into a given number of Erlang nodes running in a homogeneous cloud environment.
Results: The main results of this deliverable are
- We developed a Command Line Interface (CLI) which can be used to automatically deploy a given Distributed Erlang Application into a set of N machines running in the Amazon EC2 cloud environment.
- We have run EC2 clusters of Erlang nodes within a secure environment, by using the Amazon Virtual Private Cloud (VPC) functionalities.
Conclusion: The approach we propose to automate deployment of an Erlang OTP application into a homogeneous cloud environment worked smoothly. We now face two major challenges, which will be tackled as part of the next deliverables: moving from a homogeneous environment to a heterogeneous one and adding cluster control and monitoring functionalities to the framework.
Submission date:June 30, 2012
Purpose: To design Scalable Distributed (SD) Erlang, an extension to Distributed Erlang to allow scalability while preserving reliability.
Results: The main results of this deliverable are
- We have analysed possible failures and hardware architecture trends.
- We have analysed exemplar requirements for SD Erlang.
- We have developed designs for minimising connectivity (scalable groups), implicit placement, and considered security implication.
Conclusion: We have designed Scalable Distributed Erlang.
Submission date:June 30, 2012
Purpose: To study the scalability characteristics of a representative set of existing applications of Erlang running on the current virtual machine (VM) of Erlang/OTP.
Results: The main results of this deliverable are
- The design and implemention of bencherl, a publicly available extensible benchmark suite suitable for studying the scalability of the Erlang/OTP system and its VM.
- A study of the scalability characteristics of the current set of benchmarks in this suite across a number of implementation platforms and dimensions.
Conclusion: The scalability benchmark suite will help us prioritize changes and extensions in the architectural design of the runtime system and the VM of Erlang/OTP. It will also allow the Erlang community to have a standard place where applications can be contributed in order to study them and provide inspiration for changes in the VM (WP2), the language (WP3), and its tools (WP5).
Submission date:December 31, 2011
Purpose: To establish website, domain, and make initial press engagement
Results: The main results of this deliverable are
- We have purchased a domain, and established an outward facing website
- We have established integrated Redmine and git repositories linked to the website to facilitate interaction between partners
- We have issued several press releases and made announcements at international conferences
Conclusion: We have made a good start publicising the project to both general and technical audiences.