Raphael Manfredi

Raphael Manfredi is a Software Engineer at Hewlett-Packard, working in Grenoble, France. He has a Computer Science Degree from the Ecole des Mines de Saint-Etienne, France as well as an Image Synthesis & Processing Degree.

Born in 1968, Raphael Manfredi joined ISE in March 1991, where he architected and implemented the basis for the new runtime for ISE Eiffel 3, then under development to replace ISE's earlier Eiffel technology. He developed in particular:

Since the run-time is tightly coupled to the way Eiffel objects are handled by the final executable, the new architecture of ISE Eiffel 3 led him also to design the C code generation model, in particular the handling of local variables (since the garbage collector must know about them) and the exception handling support (to be able to produce nice exception traces).

Raphael Manfredi also helped in the definition of the Eiffel bytecode and implemented the first Eiffel bytecode virtual machine (the interpreter).

In March 1993, when the ISE Eiffel 3 run-time and compiler backend were "functionally complete" and already well integrated (the compiler having been already used to compile itself for several months), he returned to France to join the Advanced Computer Research Institute (ACRI). ACRI, based in Lyon, France, was a start-up company created by Jacques Stern, former Bull CEO, to build a large superscalar computer based on a decoupled architecture. Raphael joined the Operating System Department, whose task was to port the DEC OSF/1 (now known as Digital Unix) to the ACRI architecture. The OS was running on the DEC Alpha chip, while applications were controlled by the Alpha but really running on the decoupled chips. Since the ACRI machine was not available back then, the porting activity was done on a CPU emulator, capable of delivering about 1 MIPS on a DEC Alpha workstation. Raphael started by rewriting the lower kernel parts, the ones most exposed to the new architecture: . The PAL code, a very low level set of assembler routines to deal at the CPU level with things like traps, data faults, interrupt recognition, etc... . The trap/interrupt handling in the kernel itself. . The initial kernel bootstrapping where upper level services like the virtual memory and the internal kernel threads are setup. Once those low-level parts worked, the OS team was able to start developping ACRI-specific kernel features like the multiple page size support (the ACRI OS supported 64K, 512K, 4M and 32M pages), and binary compatibility of DEC OSF/1 native Alpha executables (8K pages only) on the ACRI OS. Raphael ported the dynamic loader so that multiple page sizes could be supported whilst still being able to dynamically load native DEC Alpha code. He also changed the exec() system call to load ACRI and DEC processes differently in memory, as well as all the companion features like setjmp()/longjmp() (that required to be binary compatible with DEC although the size of the machine context of a simple Alpha and the ACRI architecture was quite different). ACRI never released anything. After successfully building the first prototype, it went out of business due to lack of treasury. French regulations are very strong in those matters. The life of ACRI ended on March, 3rd 1995 and Raphael worked till the last day. Working for HP as a contractor by March, 10th 1995, Raphael spent 9 months optimizing a telecom application written by a third party, and redesigning its heart to gain a magnitude order regarding the amount of transactions per seconds the system was able to sustain. After this success, Raphael was hired by HP on January 1st 1996, in the High Speed Networking section. Initially hired to design and implement an ATM driver, he quickly saw an opportunity to reuse his valuable deep kernel knowledge to instead develop tools for kernel device driver writers, making the task easier and safer, with a better final product quality given that developpers can now focus on polishing the rough edges instead of fighting the kernel panics and other pleasant machine checks. Raphael is currently heading a team of engineers as Architect to continue to improve his kernel development tools and implement new ideas to further reduce development costs and improve HP's software quality. Once a year, Raphael also teaches Operating Sytems at the Ecole des Mines, in Saint-Etienne, as part of his job. The students seem to appreciate the industrial and pragmatic approach he has, as opposed to the classical academic way of teaching other Computer Science matters. As an aside, Raphael Manfredi is the author of mailagent, a freely available e-mail filtering packge for Unix. He has his own contribution directory on CPAN, the Comprehensive Perl Archive Network, which may be found at http://www.perl.org/CPAN/ Most of the various pieces of software Raphael has ever contributed can be found under his personal directory CPAN/authors/Raphael_Manfredi. Raphael Manfredi can be reached at:

Home Index What's New Feedback
- Copyright © 1997 ISE Inc. <info@eiffel.com> -
Please send comments to <webmaster@eiffel.com>