Change search
ReferencesLink to record
Permanent link

Direct link
Porting Cilk to the Barrelfish OS
KTH, School of Information and Communication Technology (ICT).
2013 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

Barrelfish operating system is an experimental instance of multikernel structure which exhibits good features such as hardware heterogeneity, scalability, dynamicity, etc. Barrelfish is in progress and lacks applications. Therefore, there is a need to investigate the efficiency of applications running in Barrelfish and one of candidates is a shared-memory application. To conduct an empirical study, Cilk is chosen inasmuch as its runtime library is designed for shared-memory architectures and it has been known to expose good performance. This thesis focuses on making Cilk run on top of Barrelfish in order to reach two goals: portability which is described to be supported by Barrelfish, and good speed afterwards.

The porting involves compiling Cilk runtime source code by replacing its pthread subroutines with set of APIs in Barrelfish and then changing the way Cilk scheduler spawns worker thread on multiple cores. However, the main point of the porting is to make different cores access to the same virtual address space. Luckily, Barrelfish provides a notion of domain which specifies the number of cores in an application so that these cores can share the same memory space. This thesis also has carried out benchmarks on some Cilk programs and found that Cilk does not perform as well as it is expected. In addition measurements on parallel workers shows that Cilk on Barrelfish takes more cycles to perform computation. Although Cilk still maintains work-first principle, it cannot achieve the time bound. The spanning domain cost is proportional to the number of cores, but it will matter if applications take small time to complete.

Place, publisher, year, edition, pages
2013. , 74 p.
Trita-ICT-EX, 2013:66
Keyword [en]
Barrelfish, Cilk, porting, multikernel, shared-memory, work-stealing, message
National Category
Engineering and Technology
URN: urn:nbn:se:kth:diva-124409OAI: diva2:635196
Educational program
Master of Science - Software Engineering of Distributed Systems
Available from: 2013-07-03 Created: 2013-07-03 Last updated: 2013-07-03Bibliographically approved

Open Access in DiVA

fulltext(697 kB)352 downloads
File information
File name FULLTEXT01.pdfFile size 697 kBChecksum SHA-512
Type fulltextMimetype application/pdf

By organisation
School of Information and Communication Technology (ICT)
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar
Total: 352 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 53 hits
ReferencesLink to record
Permanent link

Direct link