Greg P. Semeraro
18 Royal Birkdale Court
Penfield, New York 14526
(585) 264-0854
semeraro@ieee.org / semeraro@computer.org
Education
Doctor of Philosophy in Electrical (Computer) Engineering,
University of Rochester, October 2003 GPA:4.0/4.0
Dissertation: Greg P. Semeraro. Multiple Clock Domain (MCD) Microarchitecture Design, Analysis and
Performance. Doctoral dissertation, University of Rochester, Electrical and
Computer Engineering Department, August 2003. Advisors: Dr. David H. Albonesi,
Dr. Michael Huang, Dr. Martin Margala and Dr. Michael L. Scott.
Master of Science in Computer Engineering, Rochester
Institute of Technology, May 1997 GPA:3.4/4.0
Thesis: Greg P. Semeraro. Evolution of Solutions to Real-Time Problems. Master's thesis,
Rochester Institute of Technology, Department of Computer Engineering, April
1997. Advisors: Dr. Roy Czernikowski and Dr. Tony Chang.
Bachelor of Science in Computer Engineering, Boston
University, May 1988 GPA:3.3/4.0, cum
laude
Professional
Employment
Independent Consultant, GPS Engineering Consulting, LLC, http://www.GpsEngConsulting.com/, 2006-Present
Embedded
Linux-Based Medical Imaging Electronics Device. Design and develop embedded uClinux
system infrastructure for advanced wireless medical imaging device. Provide support and assistance for board
bring-up and development. Provide
performance analysis and optimization of embedded Linux device drivers to meet
project and system timing requirements.
Ported device drivers from x86 CPU to embedded platform (Analog Devices
Blackfin processor).
Hand-Held
Medical Equipment Design.
Provide overall project consulting regarding cost and manufacturability of
overall product. Responsible for the
board level digital hardware design, 250k FPGA design (entirely designed and
implemented in VHDL), embedded real-time control software (designed and
implemented in C) and Man-Machine Interface (MMI) design (designed and
implemented using the EasyGui development environment).
Miniature
Embedded Audio Electronic Device.
Designed embedded software for miniature embedded audio device using Atmel AVR
microcontroller with microphone, SD-Card (FAT file system) and custom sensor
interfaces. Provided analysis, design
review and recommendations for hardware architecture.
USB-Based
Consumer Electronics Device.
Provided software (MS Windows XP and Windows Vista) USB device driver support.
Provided real-time embedded firmware design, development and support for very
high volume consumer electronics device. Provided analysis and design for
manufacturing cost reduction. Provided analysis and support for follow-on
product planning.
Advanced
Consumer Electronics DSL Modem.
Designed hardware and embedded diagnostic firmware for an advanced,
remote-powered DSL modem. Responsible for overall project lead including
management and estimation. Responsible for working with customer to establish
and evolve system requirements for second generation product.
Assistant Professor, Rochester Institute of Technology, Department of Computer
Engineering, 2003-2006
Real-Time
Operating System Design.
Graduate course in the design of a real-time operating system (RTOS) kernel.
This course covers all aspects of RTOS design including system initialization
of peripheral devices, data structure design for process management, inter-process
communication primitive design and implementation and scheduling algorithm
fundamentals.
High
Performance Architectures.
Graduate course taught in a seminar format, centered on continuous, active
participation of students in analyzing and understanding the design of modern
high-performance computer architectures.
Computer
Organization.
Undergraduate course in the information transfer and transformations that occur
in a computer, with emphasis on the relations between computer architecture and
organization. Topics include design
levels and their respective primitives, modules and descriptive media, register
transfer and micro-operations, basic computer organization and design, central
processor organization, control unit and microprogramming, memory organization,
and input-output organization.
Applied
Programming.
Undergraduate course in numerical algorithm design and implementation in the C
language. A primary focus of the course is programming in memory and / or
computing power constrained environments, i.e., embedded systems. Topics
include root finding, solutions to systems of simultaneous equations,
floating-point arithmetic algorithms and fixed-point arithmetic properties and
characteristics.
Assembly
Language Programming.
Undergraduate course in 68000 assembly language. The course covered general
programming techniques (instruction classes and usage) as well as interrupt
driven input/output programming concepts and device driver design. The focus is
on the basic programming techniques needed for embedded and real-time assembly
language programming.
MS
Thesis Advising. Advisor
for Master of Science in Computer Engineering thesis. Responsible for defining
research problem scope appropriate for MS student, managing the activities and
schedule of the thesis and editing and directing the creation of the MS thesis
document.
David R. Cox. Distributed SystemC
Simulation. Master's thesis, Rochester Institute of Technology, Department of
Computer Engineering, August 2005. Advisors: Dr. Greg Semeraro, Dr. Roy
Czernikowski and Dr. Muhammad Shaaban.
Scott C. Warner. Linux OS Emulator and an
Application Loader for a High Performance Microarchitecture Simulator. Master's
thesis, Rochester Institute of Technology, Department of Computer Engineering,
May 2005. Advisors: Dr. Greg Semeraro, Dr. Roy Czernikowski and Dr. Juan
Cockburn.
Harry J. Eisenbise. RITSim: Cache
Modeling and Simulation. Master's thesis, Rochester Institute of Technology,
Department of Computer Engineering, April 2005. Advisors: Dr. Greg Semeraro,
Dr. Muhammad Shaaban and Dr. Marcin Lukowiak.
David L. Morse. Feasibility Analysis of
Correlation Based Prefetching Using Digital Signal Processing. Master's thesis,
Rochester Institute of Technology, Department of Computer Engineering, August
2004. Advisors: Dr. Greg Semeraro, Dr.
Juan Cockburn and Dr. Muhammad Shaaban.
James D. Remus. Statistical Closed-Loop
Process Scheduling. Master's thesis, Rochester Institute of Technology,
Department of Computer Engineering, August 2004. Advisors: Dr. Greg Semeraro,
Dr. Roy Czernikowski and Dr. Juan Cockburn.
Adjunct Instructor, University of Rochester, Department of Electrical and
Computer Engineering, 2000-2003
Introduction
to Computers and Programming.
Undergraduate course in C/C++ and computer organization. The course covers
Unix/Linux programming commencing with basic programming in the C/C++ language
and concluding with the introduction of Object Oriented Programming (OOP)
concepts. Solely responsible for the
development and presentation of the course and instruction of graduate and
undergraduate Teaching Assistants.
Scientist, University of Rochester, Department of Electrical and
Computer Engineering, 2000- 2003
Linux
System Administrator.
Responsible for the installation, configuration and maintenance of Linux
computer systems in the Advanced Computer Architecture Laboratory (ACAL). The
laboratory was used for microarchitecture research simulation, typically on a
24/7 basis.
Principal Engineer, Harris Corporation, RF Communications Division, Radio
Products Engineering Department, 1992-2000
Strategic
Exciter Development Software Group Leader. Responsible for the supervision and management of as many
as six software engineers. Provided technical leadership and design oversight
for the development of this embedded, object-oriented, real-time software
(C++). Designed and implemented a complex, real-time, non-linear control system
for 10k Watt HF transmitter (Matlab/Simulink and C on a Digital Signal
Processor). Responsible for product planning, estimation and tracking of all
software development activities.
HF
Modem Group Leader.
Responsible for the supervision and management of two software engineers and
one engineering aide. Provided technical leadership and design leadership for
the development of product enhancements in the embedded, real-time software of
the HF modem product line (C and 80x86 Assembly Language). Participated in product planning, estimation
and tracking of all software and hardware development activities. Designed
80386/EX based video Capture, Compression and Communication ISA Bus card.
Designed and implemented low-level hardware test software (80386 protected mode
Assembly Language). Designed and implemented embedded, real-time software for
the control of a 1000 Watt HF power amplifier (C). Designed 80186 based
transmitter control module and MIL-STD-1553 dual redundant, Ethernet-like,
interface module. Designed and implemented associated embedded, real-time,
low-level hardware control software (i.e., driver) for custom real-time
operating system (C and 80x86 Assembly Language).
Adjunct Faculty, Rochester Institute of Technology, Department of Computer
Engineering, 1997-1999
Design
Automation of Digital Systems.
Graduate course concerning all aspects of digital system design automation
tools and techniques. The entire design, implementation and manufacturing
process flow was discussed with emphasis on the use of the VHDL language for
design description and implementation.
Digital
System Design for Computer Engineers.
Undergraduate course concerning the design of synchronous and asynchronous
sequential logic systems. An introduction to language-based design description
techniques was included, in addition to discussions concerning all theoretical
and practical aspects of sequential circuit design and implementation.
Computer
Architecture Engineer, PAR Government Systems
Corporation (PGSC), 1990-1992
Designed high-performance computer
architectures and consulted on performance and architectural issues related to
digital signal processing (DSP) within advanced vision system designs. Designed
and implemented concurrent software using VHDL for the design of an IEEE-754
compliant floating point Digital Signal Processor (DSP). Responsible for the
design of a combination double precision and dual single precision floating
point adder (approximately one-third of 300k gate chip). Informally taught VHDL
to engineers responsible for other aspects of the DSP design. Created the
syllabus for and taught a college-level Ada programming course to approximately
fifteen engineers; covered all aspects of the Ada programming language in
approximately six weeks (two-hour lectures, twice per week).
Adjunct Faculty, Utica College of Syracuse University, Department of
Mathematics and Computer Science, 1991-1992
Assembly
Language Programming.
Undergraduate course concerning all aspects of 80x86 Assembly Language
programming and the IBM PC/AT (ISA Bus) computer architecture. All aspects of
assembly language programming were discussed from low-level hardware access to
high-level, structured design techniques. Emphasis was placed on the
appropriate use of assembly language within the personal computer architecture
context.
Product Design Engineer, Bull HN Information Systems Incorporated, Custom &
Special Products Division, Hardware Development Group, 1988-1990
Designed custom hardware and embedded
real-time software for mini-computer and ISA Bus peripheral products. Designed
mini-computer quad-, streaming-, tape drive controller real-time firmware
(68000 Assembly Language). Designed ISA
Bus encryption / communication card which provided eight full duplex, 9600 baud
secure communication channels using the Data Encryption Standard (DES)
algorithm and integrated communication ports. Specialized in ISA Bus design.
Adjunct Teaching Fellow, Boston University College of Engineering, Department of
Manufacturing Engineering, 1989-1990
Pascal
Programming for Engineers I & II.
Off-semester, undergraduate courses which covered all aspects of the Pascal
programming language. In addition, data structure design and large scale
software development concepts were introduced. Solely responsible for material
preparation and presentation as well as course administration.
Undergraduate Teaching
Assistant, Boston University
College of Engineering, Department of Manufacturing Engineering, 1985-1988
Pascal
Programming for Engineers I & II.
Undergraduate course which covered all aspects of the Pascal programming
language. Prepared and lectured twice weekly two-hour course work review
sessions. Lecture material aligned with
professor's lecture but was independently developed. Supervised the actions of
fifteen other teaching assistants for the course.
Professional Awards and Honors
Voted “Most Effective Teacher” by
Rochester Institute of Technology Computer Engineering Class of 2006
Elected to the grade of Senior Member of
the Institute of Electrical and Electronics Engineers (IEEE), January 2006
Nominated for The 2005 Richard and
Virginia Eisenhart Provost's Award for Excellence in Teaching, December 2005
Ph.D. dissertation work chosen as a
"Top Pick for 2003" and published in "Special issue of the most
industry relevant and significant papers of the year in computer
architecture", IEEE Micro, December 2003
Awarded Outstanding Performance as a Teaching
Assistant, Boston University, College of Engineering, May 1988.
Memberships in Professional Societies
Member, Rochester Business Alliance, 2007
– Present
Professional Member, American Society for
Engineering Education (ASEE), 2003 – Present
Senior Member, Institute of Electrical
and Electronics Engineers (IEEE), 1999 – Present
Senior Member, IEEE Computer Society
(IEEE-CS), 1999 – Present
Senior Member, IEEE Education Society
(IEEE-ES), 2002 – Present
Order of the Engineer, 1988 – Present.
Professional Service as Referee
Invited
Panelist
Panelist for National Science Foundation
(NSF) Foundations of Computing Processes and Artifacts (CPA). Washington, DC,
June 2004. Reviewed 6 proposals (of 17 submissions). The 11 member panel met to
rank proposals and provide recommendation(s) for funding to NSF.
Invited
Reviewer
Innovations 2006: World Innovations in
Engineering Education and Research Journal. International Network for
Engineering Education and Research, January 2006. iNEER.
Microcontrollers: Motorola MC68HC12.
Freescale, Inc., November 2005. Book chapter reviewer.
Steven C. Chapra. Numerical Methods, 5th
ed. McGraw Hill, February 2005. Book chapter reviewer.
Special Issue on Network Processors for
Future High-Performance Systems and Applications. In IEEE Micro, June 2004.
Genetic and Evolutionary Computation
Conference. Real-World Applications Subcommittee, Orlando, Florida, July 1999.
GECCO-99. Program Review Committee Member.
Guest
Reviewer (invited by program committee member to review on his/her behalf)
International Symposium on Performance
Analysis of Systems and Software. Austin, Texas, October 2005. ISPASS-2005.
International Conference on Computer
Design. San Jose, CA, May 2005. ICCD-2005.
Workshop on Complexity Effective Design,
in conjunction with the 29th International Symposium on Computer Architecture.
Munich, Germany, May 2004. WCED-2004.
The 30th Annual International Symposium
on Computer Architecture. January 2003. ISCA-2003.
Transactions on Very Large Scale
Integration Systems. IEEE, August 2002.
Workshop on Complexity Effective Design,
in conjunction with the 29th International Symposium on Computer Architecture.
Anchorage, Alaska, May 2002. WCED-2002.
John Hennessy and David Patterson.
Computer Architecture: A Quantitative Approach, 3rd Edition. Morgan Kaufmann,
June 2001. Book chapter analyzer and researcher.
International Symposium on Performance
Analysis of Systems and Software. Tucson, Arizona, November 2001. ISPASS-2001.
Workshop on Complexity Effective Design,
in conjunction with the 28th International Symposium on Computer Architecture.
Goteborg, Sweden, June 2001. WCED-2001.
International Workshop on Power-Aware
Computer Systems. Cambridge, MA, September 2000. PACS-2000.
Workshop on Complexity Effective Design,
in conjunction with the 27th International Symposium on Computer Architecture.
Vancouver, British Columbia, June 2000. WCED-2000.
Publications
James Remus and Greg Semeraro.
Statistical Closed-Loop Process Scheduling. In Proceedings of the 1st Workshop on Operating System and
Architectural Support for the on-demand IT Infrastructure, Boston, MA,
October 2004. OASIS.
Greg Semeraro, David H. Albonesi,
Grigorios Magklis, Michael L. Scott, Steven Dropsho, and Sandyha Dwarkadas.
Hiding Synchronization Delays in a GALS Processor Microarchitecture. In Proceedings of the 10th IEEE International
Symposium on Asynchronous Circuits and Systems, Hersonissos, Crete, Greece,
April 2004. ASYNC-2004.
Greg Semeraro, David Albonesi, Steven
Dropsho, Grigorios Magklis, and Michael L. Scott. Improving Application
Performance by Dynamically Balancing Speed and Complexity in a GALS
Microprocessor. In Proceedings of the 2nd
Workshop on Application Specific Processors, San Diego, CA, December 2003.
WASP-2.
David H. Albonesi, Rajeev
Balasubramonian, Steven G. Dropsho, Sandyha Dwarkadas, Eby G. Friedman, Michael
C. Huang, Volkan Kursun, Grigorios Magklis, Michael L. Scott, Greg Semeraro,
Padip Bose, Alper Buyuktosunoglu, Peter W. Cook, and Stanley E. Shuster.
Dynamically Tuning Processor Resources with Adaptive Processing. IEEE Computer (Special Issue on Power-Aware
Computing), 36(12):49-58, December 2003.
Grigorios Magklis, Greg Semeraro, David
H. Albonesi, Steven G. Dropsho, Sandhya Dwarkadas, and Michael L. Scott.
Dynamic Voltage and Frequency Scaling for a Multiple Clock Domain
Microprocessor. IEEE Micro
(Microarchitecture “Top Picks” 2003), 23(6), December 2003.
Greg P. Semeraro. The Future of Literacy
for Electrical and Computer Engineers. In Proceedings
of the 2003 ASEE St. Lawrence Section Annual Meeting, Kingston, Ontario,
Canada, October 2003.
Grigorios Magklis, Michael L. Scott, Greg
Semeraro, David H. Albonesi, and Steven G. Dropsho. Profile-based Dynamic
Voltage and Frequency Scaling for a Multiple Clock Domain Microprocessor. In The Proceedings of the 30th International
Symposium on Computer Architecture, San Diego, California, June 2003. ISCA
2003.
Greg Semeraro, David H. Albonesi, Steven
G. Dropsho, Grigorios Magklis, Sandhya Dwarkadas, and Michael L. Scott. Dynamic
Frequency and Voltage Control for a Multiple Clock Domain Microarchitecture. In
The Proceedings of the 35th Annual
Symposium on Microarchitecture, Istanbul, Turkey, November 2002. IEEE/ACM.
MICRO-35.
Steven Dropsho, Alper Buyuktosunoglu,
Rajeev Balasubramonian, David H. Albonesi, Sandhya Dwarkadas, Greg Semeraro,
Grigorios Magklis, and Michael L. Scott. Integrating Adaptive On-Chip Storage
Structures for Reduced Dynamic Power. In Proceedings
of the Eleventh International Conference on Parallel Architectures and
Compilation Techniques, Charlottesville, Virginia, September 2002.
PACT-2002.
Greg Semeraro, Grigorios Magklis, Rajeev
Balasubramonian, David H. Albonesi, Sandhya Dwarkadas, and Michael L. Scott.
Energy-Efficient Processor Design Using Multiple Clock Domains with Dynamic
Voltage and Frequency Scaling. In The
Proceedings of the Eighth International Symposium on High-Performance Computer
Architecture, Boston, Massachusetts, February 2002. HPCA-8.
Greg P. Semeraro and David C. Vallese.
Non-Linear Control of a High Power Transmitter. In The Proceedings of the Eleventh Annual International Conference on
Signal Processing Applications and Technology, Dallas, Texas, October 2000.
ICSPAT-2000.
Greg P. Semeraro. Evolutionary Analysis
Tools for Real-Time Systems. In Proceedings
of the Sixth International Symposium of Modeling, Analysis and Simulation of
Computer and Telecommunication Systems, Tools-Track (Addendum), Montreal,
Canada, July 1998. MASCOTS-98.
Greg P. Semeraro. Evolutionary Approach
to Real-Time Analysis. In Proceedings of
the Third Annual Conference of Genetic Programming, Symposium on Genetic
Algorithms, pg. 133, Madison, Wisconsin, July 1998. GP-98.
Patents
Multiple Clock Domain Microprocessor,
Filed January 2004, Issued August 2006. David Albonesi, Greg Semeraro,
Grigorios Magklis, Michael L. Scott, Rajeev Balasubramonian and Sandhya
Dwarkadas. Pending in the E.U. U.S. Patent No. 7,089,443 B2. Technology
licensed to Intellectual Ventures, LLC in October 2005.