Analyzing Performance of Multicore Applications in Erlang

Kim J. L. Nevelsteen · KTH Publication Database DiVA (KTH Royal Institute of Technology) · 2011

The advent of multicore architectures has bred complexity for developers. Variability in scheduling and resource management makes predicting runtime behavior substantially more complex. In order to coop with the added complexity, developers need tools that grant transparency in the system. Usually, a number of key characteristics heavily determine the performance of an application. By building a framework that exposes these key characteristics to the developer, we empower him/her to more closely monitor the system and gain important insight into its behavior. Erlang is a concurrent functional language, especially tailored for distributed and fault tolerant applications. Because, multiprocessing and asynchronous message passing have long been supported as language constructs, a considerable trace library and multiprocessing system tools have also long been available. This makes Erlang well suited as a modeling platform to build the mentioned framework. We do this in three steps; by first learning the Erlang trace system and its virtual machine, building a framework and thereafter test the framework.

Read the paper · More papers on PaperTik