Gabriele Ara

Computer Engineer and PhD

Always fascinated with computers, I am now a dedicated and passionate computer engineer. So far, I have accumulated over 12 years of experience in system programming and a solid theoretical background. My expertise spans multiple areas related to Computer and Software Engineering, including embedded systems, real-time systems, task scheduling, computer architectures, software design and implementation, system programming, networking, and research.

Work Experience

Postdoctoral Researcher

01/2023 — Present
Scuola Superiore Sant'Anna Pisa, Italy

Main Research Areas

My research topics include various aspects of computer engineering, spanning from cloud technologies to embedded systems. The focus is always on the Operating System and its role in regulating the timing and power behavior of several concurrent tasks, often with real-time constraints. In particular, I worked on the following topics:

  • Energy-aware scheduling of real-time systems on heterogeneous embedded platforms running Linux;
  • Energy consumption estimation through CPU Performance Monitoring Counters (PMCs) on embedded systems;
  • Deterministic execution of time-sensitive high-performance applications;
  • Simulation of the timing and energy behavior of DVFS-capable heterogeneous multi-core real-time systems;
  • High-performance network communications in HPC and cloud environments, with a special focus on NFV.

European Projects

During my Ph.D. and later as a Postdoctoral Researcher, I have collaborated with other European universities and industrial partners on the realization of the following European Project:

  • AMPERE: A Model-driven development framework for highly Parallel and EneRgy-Efficient computation supporting multi-criteria optimisation (HORIZON 2020 No. 871669).

Textbook Author

10/2013 — 12/2021
Zanichelli Editore S.p.A. Bologna, Italy

Over several years, I authored over a handful chapters for educational textbooks and manuals.

  • The chapters focus on teaching high-school students in IT classes how to program applications for Android OS, from basic concepts to advanced and complex systems;
  • In total, I worked on three different editions of a high school textbook and two manuals for IT students and professionals;
  • Refer to my website for the complete list of book chapters, books, and technical manuals I authored.

High School Teacher of IT and IT Laboratory

10/2018 — 06/2019
Istituto Superiore "Vespucci-Colombo" Livorno, Italy

While working on my Ms.C. thesis, I also worked as a part-time IT teacher to high-school students in my hometown.

  • I managed two classes of high school children aged 15-16 during this time.

E-learning IT Assistant

10/2017 — 10/2018
University of Pisa Pisa, Italy

To support my studies, I worked for one year as on-site support to technical and teaching personnel for the University.

  • Duties included managing recording equipment, streaming software, and providing hands-on support in case of live failures.

Tutor

2013 — 2018
Independent Livorno/Pisa, Italy

I tutored several high school and university-level students in STEM fields throughout my university years.

  • I mainly tutored them in Computer Engineering, Programming, Math, Electronics, and Physics.

Technical Skills

I have lots of experience developing personal and work projects in different programming languages, from low-level level languages, like Assembly, to complex Object-Oriented languages, like Java or C++. I can apply software engineering techniques to creatively, reliably, and efficiently solve complex sets of problems, considering both functional and non-functional aspects of the resulting software. I have extensive knowledge of data structures, algorithms, and software design patterns. I can program multithread and multiprocess applications and understand the pitfalls of synchronization between concurrent program flows. I am an experienced debugger and tester. I can perform root-cause analysis, delving deep into complex code bases if necessary, even ones authored by several others (e.g., Linux kernel). I have experience in most aspects related to the software development lifecycle. Although I have never directly managed clients requirements, I have experience working with build systems, version control systems, IDEs, and packaging tools for distributing and installing software.

Education

Ph.D. in Emerging Digital Technologies
(Embedded Computing Systems Curriculum)

10/2019 — 12/2022
Scuola Superiore Sant'Anna Pisa, Italy
Final Evaluation:
Graduated With Honors
Thesis Title:
OS Mechanisms for Energy-Efficient Real-Time and High-Performance Networking Applications.

Research Visiting Ph.D. Student

01/2021 — 07/2021
ETH Zürich - Integrated Systems Laboratory Zürich, Switzerland

M.Sc. in Embedded Computing Systems

10/2016 — 10/2019
University of Pisa and
Scuola Superiore Sant'Anna
Pisa, Italy
Final Evaluation:
110/110 Cum Laude

B.Sc. in Computer Engineering

10/2013 — 10/2016
University of Pisa Pisa, Italy
Final Evaluation:
110/110 Cum Laude

Publications

This list is only a selection; see the full articles on my Google Scholar Profile. Refer to my website for the complete list of book chapters, books, and technical manuals I authored.

  • Tommaso Cucinotta, Alexandre Amory, Gabriele Ara, Francesco Paladino, and Marco Di Natale (2023), " Multi-Criteria Optimization of Real-Timez DAGs on Heterogeneous Platforms under P-EDF ". In ACM Transactions on Embedded Computing Systems, just accepted, ACM.
  • Gabriele Ara, Tommaso Cucinotta, Agostino Mascitti (2022), "Simulating Execution Time and Power Consumption of Real-Time Tasks on Embedded Platforms". In Proceedings of the 37th ACM/SIGAPP International Symposium on Applied Computing (ACM SAC 2022), Brno, Czech Republic, ACM.
  • Leonardo Lai, Gabriele Ara, Tommaso Cucinotta, Koteswararao Kondepu, Luca Valcarenghi (2021), "Ultra-low Latency NFV Services Using DPDK". In Proceedings of the 7th IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN 2021), Heraklion, Greece, IEEE.
  • Gabriele Ara, Leonardo Lai, Tommaso Cucinotta, Luca Abeni, and Carlo Vitucci (2021), "A Framework for Comparative Evaluation of High-Performance Virtualized Networking Mechanisms". In Cloud Computing and Services Science - CLOSER 2020 Revised Selected Papers, Communications in Computer and Information Science (CCIS), vol 1399 (pp. 59-83), Springer.
  • Gabriele Serra, Gabriele Ara, Pietro Fara, and Tommaso Cucinotta (2021), "ReTiF: A declarative real-time scheduling framework for POSIX systems". In Journal of Systems Architecture, Volume 118, 2021, 102210, ISSN 1383-7621, Elsevier.
  • Gabriele Ara, Tommaso Cucinotta, Luca Abeni, and Carlo Vitucci (2020), "Comparative Evaluation of Kernel Bypass Mechanisms for High-performance Inter-container Communications". In Proceedings of the 10th International Conference on Cloud Computing and Services Science (CLOSER 2020), Prague, Czech Republic (pp. 44-55), SCITEPRESS. Best Paper Award winner

Soft Skills

Throughout my career, I worked both in small teams and alone. I am open to comparison and dialogue, enjoying the confrontation with my peers and learning from more experienced people. I have developed enough flexibility to fit in multicultural and heterogeneous teams. I am also very determined and self-motivated, and I can rely on my problem-solving ability when working independently, ensuring I can manage tasks autonomously to meet goals and deadlines, even under tight time schedules.

Skills Set

Languages and Standards
  • C++ (ISO C++98/03/11/14/17/20/23)
  • C (ANSI C, C99/17/23, MISRA)
  • POSIX
  • Bash
  • Java
  • Python
Virtualization Technologies
  • OCI Containers
  • Docker
  • LXC
  • Podman
  • QEMU
  • KVM
Development and Debugging Tools
  • GNU Make
  • CMake
  • Ninja
  • GCC/G++
  • LLVM/Clang
  • GDB
  • CPack/CTest
  • RPM/DEB
  • Git
Hardware Platforms
  • Xilinx UltraScale+
  • Raspberry Pi
  • NVIDIA Jetson
  • Intel x86
  • AMD64
  • ARMv7
  • ARMv8

Areas of expertise

  • Linux system programming
  • Linux administration
  • Linux kernel scheduler
  • Linux kernel frequency governor
  • High-performance networking
  • DPDK
  • System virtualization

Honors & Awards

  • Best Paper Award Certificate at the 10th International Conference on Cloud Computing and Services Science (CLOSER 2020)
  • National Selection Participant for the Italian Olympiad in Informatics (2012)
  • 10th Place at the Italian National Turing Machine Programming Competition (2013)

Languages

Italian Native Proficiency
English Full Professional Proficiency