Alexia Massalin

Last updated
Alexia Massalin
Born
Henry Massalin

(1962-01-01)January 1, 1962
NationalityAmerican
CitizenshipUnited States
Alma mater Cooper Union School of Engineering, B.E. M.E., 1984
Columbia University, Ph.D., computer science, 1992
Known for Superoptimization
Scientific career
Fields Operating systems, optimizing compilers
Institutions MicroUnity Systems Engineering, Inc.
Thesis Synthesis: An Efficient Implementation of Fundamental Operating System Services  (1992)
Doctoral advisor Calton Pu

Alexia Massalin (formerly Henry Massalin) is an American computer scientist and programmer. She pioneered the concept of superoptimization, [1] [2] and designed the Synthesis kernel , a small kernel with a Unix compatibility layer that makes heavy use of self-modifying code for efficiency. [3] [4]

Contents

Life and career

After high school, she was given a scholarship to the Cooper Union School of Engineering in Manhattan, where she obtained a bachelor's and master's degree. [5] [2] She went to obtain her Ph.D. in computer science from Columbia University in 1992, studying under professor Calton Pu.

In the 1980s she worked for Philon Inc., a New York start up specializing in optimizing compilers. In October 1992, Massalin joined MicroUnity as a research scientist, where she became responsible for signal-processing modules and software architecture. [5]

Synthesis

Massalin's first breakthrough product came while studying at Columbia. Massalin developed Synthesis, an operating system kernel that allocated resources, ran security and low-level hardware interfaces, and created executable code to improve performance. [2] Synthesis optimized critical operating system code using run-time information, which was a new insight previously thought impractical. [2] To support Synthesis, Massalin invented object-like data structures called Quajects, which contain both data and code information. [4]

Massalin is still working on broadband microprocessors.[ citation needed ]

Personal life

Her parents were Croatian refugees from Trieste. In the 1940s, they moved to Astoria, Queens, New York, where her father became a construction worker. [2]

In a 1996 article in Wired magazine, the author Gary Andrew Poole said she "could be the Einstein of our time." [2] She was well known for offering piggy back rides to people she met, which included notable computer scientists such as Dennis Ritchie, Ken Thompson, and artificial intelligence pioneer Marvin Minsky. [6]

Related Research Articles

<span class="mw-page-title-main">GNU Hurd</span> Operating system kernel designed as a replacement for Unix

GNU Hurd is a collection of microkernel servers written as part of GNU, for the GNU Mach microkernel. It has been under development since 1990 by the GNU Project of the Free Software Foundation, designed as a replacement for the Unix kernel, and released as free software under the GNU General Public License. When the Linux kernel proved to be a viable solution, development of GNU Hurd slowed, at times alternating between stasis and renewed activity and interest.

<span class="mw-page-title-main">Thread (computing)</span> Smallest sequence of programmed instructions that can be managed independently by a scheduler

In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system. The implementation of threads and processes differs between operating systems. In Modern Operating Systems, Tanenbaum shows that many distinct models of process organization are possible. In many cases, a thread is a component of a process. The multiple threads of a given process may be executed concurrently, sharing resources such as memory, while different processes do not share these resources. In particular, the threads of a process share its executable code and the values of its dynamically allocated variables and non-thread-local global variables at any given time.

In computer science, self-modifying code (SMC) is code that alters its own instructions while it is executing – usually to reduce the instruction path length and improve performance or simply to reduce otherwise repetitively similar code, thus simplifying maintenance. The term is usually only applied to code where the self-modification is intentional, not in situations where code accidentally modifies itself due to an error such as a buffer overflow.

In computing, binary translation is a form of binary recompilation where sequences of instructions are translated from a source instruction set to the target instruction set. In some cases such as instruction set simulation, the target instruction set may be the same as the source instruction set, providing testing and debugging features such as instruction trace, conditional breakpoints and hot spot detection.

<span class="mw-page-title-main">Free and open-source graphics device driver</span> Software that controls computer-graphics hardware

A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.

The Practice of Programming (ISBN 0-201-61586-X) by Brian W. Kernighan and Rob Pike is a 1999 book about computer programming and software engineering, published by Addison-Wesley.

Superoptimization is the process where a compiler automatically finds the optimal sequence for a loop-free sequence of instructions. Real-world compilers generally cannot produce genuinely optimal code, and while most standard compiler optimizations only improve code partly, a superoptimizer's goal is to find the optimal sequence, the canonical form. Superoptimizers can be used to improve conventional optimizers by highlighting missed opportunities so a human can write additional rules.

The ESPRESSO logic minimizer is a computer program using heuristic and specific algorithms for efficiently reducing the complexity of digital logic gate circuits. ESPRESSO-I was originally developed at IBM by Robert K. Brayton et al. in 1982. and improved as ESPRESSO-II in 1984. Richard L. Rudell later published the variant ESPRESSO-MV in 1986 and ESPRESSO-EXACT in 1987. Espresso has inspired many derivatives.

In computer operating systems, union mounting is a way of combining multiple directories into one that appears to contain their combined contents. Union mounting is supported in Linux, BSD and several of its successors, and Plan 9, with similar but subtly different behavior.

<span class="mw-page-title-main">Process management (computing)</span>

A process is a program in execution, and an integral part of any modern-day operating system (OS). The OS must allocate resources to processes, enable processes to share and exchange information, protect the resources of each process from other processes and enable synchronization among processes. To meet these requirements, the OS must maintain a data structure for each process, which describes the state and resource ownership of that process, and which enables the OS to exert control over each process.

<span class="mw-page-title-main">Kernel (operating system)</span> Core of a computer operating system

The kernel is a computer program at the core of a computer's operating system and generally has complete control over everything in the system. It is the portion of the operating system code that is always resident in memory and facilitates interactions between hardware and software components. A full kernel controls all hardware resources via device drivers, arbitrates conflicts between processes concerning such resources, and optimizes the utilization of common resources e.g. CPU & cache usage, file systems, and network sockets. On most systems, the kernel is one of the first programs loaded on startup. It handles the rest of startup as well as memory, peripherals, and input/output (I/O) requests from software, translating them into data-processing instructions for the central processing unit.

<span class="mw-page-title-main">Linux kernel</span> Operating system kernel

The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU operating system, which was written to be a free (libre) replacement for Unix.

In computer science, dynamic software updating (DSU) is a field of research pertaining to upgrading programs while they are running. DSU is not currently widely used in industry. However, researchers have developed a wide variety of systems and techniques for implementing DSU. These systems are commonly tested on real-world programs.

<span class="mw-page-title-main">Valerie Aurora</span> American computer scientist and activist

Valerie Anita Aurora is a software engineer and feminist activist. She was the co-founder of the Ada Initiative, a non-profit organization that sought to increase women's participation in the free culture movement, open source technology, and open source culture. Aurora is also known within the Linux community for advocating new developments in filesystems in Linux, including ChunkFS and the Union file system. Her birth name was Val Henson, but she changed it shortly before 2009, choosing her middle name after the computer scientist Anita Borg. In 2012, Aurora, and Ada Initiative co-founder Mary Gardiner were named two of the most influential people in computer security by SC Magazine. In 2013, she won the O'Reilly Open Source Award.

Supervisor Mode Access Prevention (SMAP) is a feature of some CPU implementations such as the Intel Broadwell microarchitecture that allows supervisor mode programs to optionally set user-space memory mappings so that access to those mappings from supervisor mode will cause a trap. This makes it harder for malicious programs to "trick" the kernel into using instructions or data from a user-space program.

devpts

devpts is a virtual filesystem directory available in the Linux kernel since version 2.1.93. It is normally mounted at /dev/pts and contains solely devices files which represent slaves to the multiplexing master located at /dev/ptmx which in turn is used to implement terminal emulators.

In computer science, a quaject is an object-like data structure containing both data and code, exposed as an interface in the form of callentries, and can accept a list of callentries to other quajects for callbacks and callouts. They were developed by Alexia Massalin in 1989 for the Synthesis kernel, and named for the Qua! Machine, a unique hardware platform built by Massalin. The origin of the term 'qua' is unclear; Massalin claims humorously that it is a sound made by koalas.

A virtual kernel architecture (vkernel) is an operating system virtualisation paradigm where kernel code can be compiled to run in the user space, for example, to ease debugging of various kernel-level components, in addition to general-purpose virtualisation and compartmentalisation of system resources. It is used by DragonFly BSD in its vkernel implementation since DragonFly 1.7, having been first revealed in September 2006, and first released in the stable branch with DragonFly 1.8 in January 2007. The long-term goal, in addition to easing kernel development, is to make it easier to support internet-connected computer clusters without compromising local security. Similar concepts exist in other operating systems as well; in Linux, a similar virtualisation concept is known as user-mode Linux; whereas in NetBSD since the summer of 2007, it has been the initial focus of the rump kernel infrastructure.

XDP is an eBPF-based high-performance data path used to send and receive network packets at high rates by bypassing most of the operating system networking stack. It is merged in the Linux kernel since version 4.8. This implementation is licensed under GPL. Large technology firms including Amazon, Google and Intel support its development. Microsoft released their free and open source implementation XDP for Windows in May 2022. It is licensed under MIT License.

Thoth is a real-time, message passing operating system (OS) developed at the University of Waterloo in Waterloo, Ontario Canada.

References

  1. Massalin, Henry (1987). "Superoptimizer: A look at the smallest program" (PDF). ACM SIGARCH Computer Architecture News. 15 (5): 122–126. doi:10.1145/36177.36194 . Retrieved 2023-04-25. Given an instruction set, the superoptimizer finds the shortest program to compute a function. Startling programs have been generated, many of them engaging in convoluted bit-fiddling bearing little resemblance to the source programs which defined the functions. The key idea in the superoptimizer is a probabilistic test that makes exhaustive searches practical for programs of useful size.
  2. 1 2 3 4 5 6 Poole, Gary Andrew (1996-12-01). "Qua". Wired . Condé Nast. Archived from the original on 2017-07-04. Retrieved 2016-08-23.
  3. Pu, Calton; Massalin, Henry; Ioannidis, John (1992). Synthesis: An Efficient Implementation of Fundamental Operating System Services (PDF) (Ph.D. thesis). New York, NY, USA: Department of Computer Sciences, Columbia University. UMI Order No. GAX92-32050. Retrieved 2023-04-25. Archived 2016-03-12 at the Wayback Machine
  4. 1 2 Henson, Valerie. "KHB: Synthesis: An Efficient Implementation of Fundamental Operating Systems Services". LWN.net. LWN.net. Archived from the original on 2017-07-04. Retrieved 2016-10-27.
  5. 1 2 "Company: MicroUnity". Archived from the original on 2017-07-04. Retrieved 2012-05-11.
  6. Poole, Gary Andrew (1998-12-24). "In the Land of the Weird, Standing Out Takes a Little Work". The New York Times . ISSN   0362-4331. Archived from the original on 2017-07-04. Retrieved 2016-02-09.