[Pl-seminar] Mon. 11/2 Seminar: Christoph Kirsch, Scalloc and Selfie: Fast Memory Allocation and Self-referential Systems Software
William J. Bowman
wilbowma at ccs.neu.edu
Tue Oct 27 11:23:30 EDT 2015
NUPRL Seminar presents
Christoph Kirsch
University of Salzburg, Austria
Host: Jan Vitek
10:00am
Monday, November 2 2015
Room 366 WVH (http://www.ccs.neu.edu/home/wand/directions.html)
Scalloc and Selfie: Fast Memory Allocation and Self-referential Systems Software
Abstract:
This talk is about scalloc, a fast, multicore-scalable,
low-fragmentation memory allocator and selfie, a 4000-line
implementation of a tiny self-compiling C compiler and a tiny
self-executing MIPS emulator for teaching systems engineering. Scalloc
is a typical example of a very complex, multi-year research effort while
selfie is, at least for now, a purely educational, many-year effort in
teaching compiler, operating system, and virtual machine design based on
a single, highly principled software platform. So far scalloc and selfie
only share the passion of their authors and are otherwise two distinct
projects. Yet earlier versions of selfie, before they were even
identified as such, were instrumental in bringing up the generation of
students who did scalloc. The main ideas behind scalloc are: uniform
treatment of small and big objects through so-called virtual spans,
efficiently and effectively reclaiming free memory through fast and
scalable global data structures, and constant-time (modulo
synchronization) allocation and deallocation operations that trade off
memory reuse and spatial locality without being subject to false
sharing. The main ideas behind selfie are: a compiler written in and for
a tiny subset of C called C* which uses the dereferencing * operator of
C for memory access but lacks data structures and many other features
and a MIPS emulator written in C* that can execute itself. Both are
combined and extended by students to do very cool stuff.
Bio:
Christoph Kirsch (http://cs.uni-salzburg.at/~ck/) is Professor at the
University of Salzburg, Austria. From 1999 to 2004 he worked as
Postdoctoral Researcher at UC, Berkeley. He later returned to Berkeley
as Visiting Scholar (2008-2013) and Visiting Professor (2014) as part of
a collaborative research effort in Cyber-Physical Systems. His most
recent research interests are in concurrent data structures, memory
management, and so-called spatial programming. Dr. Kirsch co-invented
embedded programming languages and systems such as Giotto, HTL, and the
Embedded Machine, and more recently co-designed high-performance,
multicore-scalable concurrent data structures and memory management
systems. He co-founded the International Conference on Embedded Software
(EMSOFT) and served as ACM SIGBED chair from 2011 until 2013 and ACM
TODAES associate editor from 2011 until 2014.
--
William J. Bowman
Northeastern University
College of Computer and Information Science
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.ccs.neu.edu/pipermail/pl-seminar/attachments/20151027/636b6ceb/attachment.pgp>
More information about the pl-seminar
mailing list