About Publications Talks and Presentations Teaching Contact

About

Frank's photo

In June 2021 I joined Apple to work on system software and debug technologies. A while before that, in September 2012, I started working at Intel as a Software Engineer contributing to trace and debugging tools for software, firmware and hardware.

Before joining Intel I was working as a Research Fellow at the University of Hertfordshire, UK, in the Compiler Technology and Computer Architecture (CTCA) group, where I also received my PhD.

My main research area was in the design and implementation of (concurrent) programming languages, in particular their runtime-systems, and in adaptive and reconfigurable software through dynamic optimisations. This research was closely related to the S-Net project and to the EU FP7 project ADVANCE where our group was working on techniques to capture, evaluate and exploit performance feedback to continuously monitor and improve resource utilisation.

Before moving to the UK I finished my degree in computer science in 2007 at Universität zu Lübeck, Germany. Most of my research in Lübeck was focused on parallel computing and programming languages, for example, I wrote CAOS, a domain-specific, implicitly parallel language for the simulation of cellular automata on clusters and shared-memory machines as a term project.

Publications

[1]
Raimund Kirner, Vicent Sanz Marco, Michael Zolda, and Frank Penczek. Fault-tolerant coordination of S-Net stream-processing networks. In Proc. 2nd Workshop on Feedback-Directed Compiler Optimization for Multi-Core Architectures, Berlin, Germany, Jan. 2013.
[2]
Wei Cheng, Frank Penczek, Clemens Grelck, Raimund Kirner, Bernd Scheuermann, and Alex Shafarenko. Modeling streams-based variants of ant colony optimisation for parallel systems. In Workshop on Feedback-Directed Compiler Optimization for Multi-Core Architectures (FD-COMA 2012), Proceedings, 2012.
[3]
C. Grelck, J. Julku, and F. Penczek. Distributed s-net: Cluster and grid computing without the hassle. In Cluster, Cloud and Grid Computing (CCGrid'12), 12th IEEE/ACM International Conference, Ottawa, Canada. IEEE Computer Society, 2012. to appear.
[4]
Raimund Kirner, Frank Penczek, and Alex Shafarenko. Compilers must speak properties, not just code - CAL: constraint aggregation language for declarative component-coordination. In Proc. ACM Workshop on Declarative Aspects and Applications of Multicore Programming, 2012.
[5]
V.T.N Nguyen, R. Kirner, and F. Penczek. A multi-level monitoring framework for stream-based coordination programs. In Proceedings of the 12th International Conference on Algorithms and Architectures for Parallel Processing (ICA3PP'12), Fukuoka, Japan, number tba in LNCS. Springer Verlag, 2012. to appear.
[6]
Vu Thien Nga Nguyen, Raimund Kirner, and Frank Penczek. Monitoring framework for stream-processing networks. In Workshop on Feedback-Directed Compiler Optimization for Multi-Core Architectures (FD-COMA 2012), Proceedings, 2012.
[7]
Frank Penczek, Raimund Kirner, Raphael Poss, Clemens Grelck, and Alex Shafarenko. An infrastructure for multi-level optimisation through property annotation and aggregation. In Proc. 4th Int. Workshop on Non-functional System Properties in Domain Specific Modeling Languages (NFPinDSML'12), Innsbruck, Austria, Oct. 2012.
[8]
Frank Penczek, Wei Cheng, Clemens Grelck, Raimund Kirner, Bernd Scheuermann, and Alex Shafarenko. A data-flow based coordination approach to concurrent software engineering. In Proc. Int. Workshop on Data-Flow Execution Models for Extreme Scale Computing (DFM'12), Minneapolis, USA, Sep. 2012.
[9]
Clemens Grelck and Frank Penczek. Cellular Automata - Simplicity Behind Complexity, chapter Design and Implementation of CAOS: An Implicitly Parallel Language for the High-Performance Simulation of Cellular Automata, pages 545–566. InTech, 2011. ISBN: 978-953-307-230-2.
[10]
C. Grelck and A. Shafarenko (eds):, F. Penczek, C. Grelck, H. Cai, J. Julku, P. Hölzenspies, S.B. Scholz, and A. Shafarenko. S-Net Language Report 2.0. Technical Report 499, University of Hertfordshire, School of Computer Science, Hatfield, England, United Kingdom, 2010.
[11]
C. Grelck and F. Penczek. Implementation Architecture and Multithreaded Runtime System of S-Net. In S.B. Scholz and O. Chitil, editors, Implementation and Application of Functional Languages, 20th International Symposium, IFL'08, Hatfield, United Kingdom, Revised Selected Papers, volume 5836 of Lecture Notes in Computer Science. Springer-Verlag, 2010.
[12]
Clemens Grelck, Jukka Julku, and Frank Penczek. S-Net for Multi-Memory Multicores. In Leaf Peterson and Enrico Pontelli, editors, 5th ACM SIGPLAN Workshop on Declarative Aspects of Multicore Programming, Madrid, Spain, 2010, pages 25–34. ACM Press, New York City, New York, USA, 2010.
[13]
Clemens Grelck, Jukka Julku, Frank Penczek, and Alex Shafarenko. Cluster computing as an assembly process. Poster at The 10th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID10), 5 2010.
[14]
Clemens Grelck, Sven-Bodo Scholz, Frank Penczek, and Alex Shafarenko. S-Net: High-Level Coordination for the Many-Core Era. Poster at Intel European Research and Innovation Conference 2010 (ERIC10), 9 2010.
[15]
Raimund Kirner, Sven-Bodo Scholz, Frank Penczek, and Alex Shafarenko. A Resource-boundable Coordination Language for Many-Core Embedded Systems. Poster at Intel European Research and Innovation Conference 2010 (ERIC10), 9 2010.
[16]
Raimund Kirner, Sven-Bodo Scholz, Frank Penczek, and Alex Shafarenko. PS-Net - a predictable typed coordination language for stream processing in resource-constrained environments. In Proc. 1st Int'l Conference on Computational Logics, Algebras, Programming, Tools, and Benchmarking (COMPTOOL'10), Lisbon, Portugal, 11 2010.
[17]
Frank Penczek, Clemens Grelck, and Sven-Bodo Scholz. An Operational Semantics for S-Net. In Barbara Chapman, Frédéric Desprez, Gerhard Joubert, Alain Lichnewsky, Frans Peters, and Thierry Priol, editors, Parallel Computing: From Multicores and GPU's to Petascale, volume 19 of Advances in Parallel Computing, pages 467–474. IOS Press, 2010.
[18]
Frank Penczek, Stephan Herhut, Clemens Grelck, Sven-Bodo Scholz, Alex Shafarenko, Remi Barrere, and Eric Lenormand. Signal Processing with S-Net. Procedia Computer Science, 1(1):2079 – 2088, 2010. ICCS 2010.
[19]
Frank Penczek, Stephan Herhut, Sven-Bodo Scholz, Alex Shafarenko, JungSook Yang, Chun-Yi Chen, Nader Bagherzadeh, and Clemens Grelck. Message Driven Programming with S-Net: Methodology and Performance. Parallel Processing Workshops, International Conference on, 0:405–412, 2010.
[20]
Sven-Bodo Scholz, Stephan Herhut, Clemens Grelck, and Frank Penczek. Single Assignment C Tutorial. PPoPP 2010, Bangalore, India. Technical Report 498, School of Computer Science, University of Hertfordshire, 2010.
[21]
C. Grelck, Shafarenko, A. (eds):, F. Penczek, C. Grelck, H. Cai, J. Julku, P. Hölzenspies, Scholz, S.B., and A. Shafarenko. S-Net Language Report 1.0. Technical Report 487, University of Hertfordshire, School of Computer Science, Hatfield, England, United Kingdom, 2009.
[22]
Clemens Grelck, Jukka Julku, and Frank Penczek. Distributed S-Net. In M. Morazan, editor, Implementation and Application of Functional Languages, 21st International Symposium, IFL'09, Seton Hall University. Seton Hall University, 2009.
[23]
Haoxan Cai, Susan Eisenbach, Clemens Grelck, Frank Penczek, Sven-Bodo Scholz, and Alex Shafarenko. S-Net type system and operational semantics. In Proceedings of the Æther-Morpheus Workshop From Reconfigurable to Self-Adaptive Computing (AMWAS'08), Lugano, Switzerland, 10 2008.
[24]
Stephan Herhut and Frank Penczek. From solo to symphony: A unified paradigm to program single-, multi-, and many-core architectures in an increasingly ubiquitous computing-environment. Poster at STRI Showcase, 3 2008.
[25]
Frank Penczek, Sven-Bodo Scholz, and Clemens Grelck. Towards reconfiguration and self-adaptivity in s-net. In Sven-Bodo Scholz, editor, Implementation and Application of Functional Languages, 20th international symposium, IFL'08, Hatfield, Hertfordshire, UK, Technical Report 474, pages 330–339. University of Hertfordshire, England, UK, 9 2008.
[26]
Clemens Grelck and Frank Penczek. Implementing s-net: A typed stream processing language, part i: Compilation, code generation and deployment. Technical report, University of Hertfordshire, Department of Computer Science, Compiler Technology and Computer Architecture Group, Hatfield, England, United Kingdom, 2007.
[27]
Clemens Grelck and Frank Penczek. On Implementing S-Net. In Olaf Chitil, editor, Proceedings of the 19th International Symposium on Implementation and Application of Functional Languages (IFL'07), Freiburg, Germany, Technical Report 12-07, pages 531–533. University of Kent, Computing Laboratory, Canterbury, England, UK, 2007.
[28]
Clemens Grelck, Frank Penczek, and Kai Trojahner. Caos: A domain-specific language for the parallel simulation of cellular automata. In Viktor Malyshkin, editor, Parallel Computing Technologies, 9th International Conference (PaCT'07), Lecture Notes in Computer Science, pages 410–417, Pereslavl-Zalessky, Russia, 9 2007. Springer Verlag.
[29]
Frank Penczek. Design and Implementation of a Multithreaded Runtime System for the Stream Processing Language S-Net. Master's thesis, Institute of Software Technology and Programming Languages, University of Lübeck, Germany, 2007.
[30]
C. Albrecht, A.C. Döring, F. Penczek, T. Schneider, and H. Schulz. Impact of coprocessors on a multithreaded processor design using prioritized threads. In Proceedings of the 14th Euromicro Conference on Parallel, Distributed and Network-based Processing (PDP 2006), pages 109–115, Montbeliard-Sochaux, France, 2006. IEEE Computer Society.
[31]
Frank Penczek. On the implementation of a domain-specific language for the parallel simulation of cellular automata on distributed memory parallel computers. Studienarbeit, 2006.

Talks and Presentations

Application-Level Description of Performance Characteristics (Results of WP2)
April 20, 2012 ADVANCE 2nd Year Review Brussels, Belgium
The S-Net Type System from the Inside and the Outside
July 26, 2011 ADVANCE development meeting Riga, Latvia
PS-Net: A Resource-Boundable Coordination Language for Embedded Systems
September 22, 2010 Poster at Intel European Research and Innovation Conference (ERIC'10) Braunschweig, Germany
Message-Driven Programming: Methodology and Performance
September 13, 2010 International Conference on Parallel Processing (Workshop P2S2) (ICPP 2010) San Diego, California, USA
Parallel Signal Processing with S-Net
May 31, 2010 International Conference on Computational Science (ICCS'10) Amsterdam, Netherlands
Design Patterns for Concurrency Engineering
March 31, 2010 S-Hack'10 Workshop Hatfield, UK
Self-adaptive Networks: a Coordination Concept for Open Environments
September 24, 2009 Scalable Approaches to High Performance and High Productivity Computing (ScalPerf'09) Bertinoro, Italy
The S-Net tool-chain from top to bottom
September 09, 2009 Live Demonstration (jointly with Juha Parssinen, VTT Finland), The Final FET-ACA project review for AETHER. Paris, France
Adaptation and reconfiguration in asynchronous stream-processing networks
September 02, 2009 Invited Talk. International Conference on Parallel Computing (ParCo2009), Symposium on Adaptive parallel computing: latency toleration, non-determinism as a form of adaptation, adaptive mapping. Lyon, France
Self-Adaptivity and Reconfiguration in S-Net
October 09, 2008 Æther-Morpheus Workshop From Reconfigurable to Self-Adaptive Computing (AMWAS’08) Lugano, Switzerland
Towards Reconfiguration and Self-Adaptivity in S-Net
September 2008 20th International Symposium on Implementation and Application of Functional Languages (IFL’08) Hertfordshire, UK
Writing Applications in S-Net
April 2008 S-Hack '08 Hertfordshire, UK
Implementing a Radar Application in S-Net / SaC (joint work with Thales Research)
March 2008 FET-ACA Review Rome, Italy
Is Stream Processing the Model for Next-Generation Architectures?
February 2008 Invited Talk. University of Lübeck, Institute of Software Technology and Programming Languages Lübeck, Germany
The S-Net Tool Chain
December, 2007 Æther Meeting. Institute of Information Theory and Automation, Academy of Sciences of the Czech Republic – UTIA Prague, Czech Republic
A Multithreaded Runtime System for S-Net
June 14, 2007 University of Lübeck, Institute of Software Technology and Programming Languages Lübeck, Germany
A Multithreaded Runtime System for S-Net
June 5, 2007 Sixth SaC Developers' Conference Hertfordshire, UK
CAOS: a cellular automata simulation language
June, 2006 Fifth SaC Developers' Conference Hertfordshire, UK

Teaching

2010/2011

Programming Principles (4Com0049) Link
Practical sheets and source code archives are available here.

Multi-Core Programming
Subscribe to the mailing list here. The archive is available here.

2009/2010

Programming Language Design And Implementation (3Com0250) Link

Programming And Program Design 1 (1Com0049) Link
Practical Sheets:

2008/9

Programming Principles (1Com0046) Link

Programming 2 (2Com0057) Link

Programming And Program Design 1 Link

2007/8

Programming 2 Link

Programming Principles Link

Programming And Program Design 1 Link

2005/6

Algorithmen, Komplexitätstheorie und Formale Sprachen (Universität zu Lübeck) Link

Einführung in die Informatik III (Universität zu Lübeck) Link

2004

Einführung in die Informatik IV (Universität zu Lübeck) Link

Contact

Send me an email or, if you're interested in these kinds of things, visit my View Frank Penczek's profile on LinkedIn or Dr. Frank Penczek and connect there. In any case, I'm looking forward to hearing from you!