أعلى النموذج

 


s

PhD Student, Real-Time Systems Lab

Bradley Department of ECE,  Virginia Tech

Blacksburg, VA (24061)

Blacksburg, VA (24061)

Mobile: +20 (010) 1957 7804

E-Mail: msaad  AT  vt.edu

Print

Mohamed M. Saad Ibrahim

 

 

Bibliography

 

 

I have been a Ph.D. student in the Bradley Department of Electrical and Computer Engineering at Virginia Tech since Fall 2009. In 2000, I enrolled at Faculty of Engineering, Alexandria University, and at preparatory year I was ranked first out of faculty (more than 2500 students). In 2005, I graduated from Alexandria University (AU) in Egypt with distinguished B.S. degree with honor in Computer Engineering. I was ranked first out of Computer Science & Automatic Control department (more than 80 students) and was offered a Teaching Assistant in the Systems & Computer Engineering Department at AU.

After graduation I worked at business for four years, and became the project manager for Easy Dialog Ltd., a software house specialized in automotive marketing and searching engines.

Currently I'm conducting my Ph.D. research under the supervision of Dr. Binoy Ravindran. I'm developing a Multicore Java Virtual Machine Prototype named Hydra VM, hydravm.org, it is based on Jikes RVM. In this work I'm trying to extract possible parallel execution paths from sequential legacy code, and utilize available processing power and distribute work over multiple cores. Program symantics and data consistency are maintained through customized software transactional memory framework.

In my Master of Science thesis at Virginia Tech, I focused on distributed software transactional memory. I developed a distributed STM framework, named HyFlow, www.hyflow.org, that supports data-flow model and control-flow model and provide researchers with APIs & plug-ins mechanisms such as; directory managers, distributed transactional memory, contention managers. It is based on Aleph Toolkit, and uses Java instrumentation to hide the complexity of underlying transactional code. Using HyFlow user just annotates atomic or remotely executed code and my instrumentation engine handle the rest transparently. To the best of my knowledge, it is the first implementation for distributed STM.

I'm a member of Virginia Tech - Middle East and North Africa (VT-MENA) graduate program. VT-MENA is a partnership for graduate studies and scientific research between Virginia Tech and the Academic Institutions of the Ministry of Higher Education (MOHE) in Egypt, and was launched in 2008 at AU. The VT-MOHE partnership aims to establish Centers of Academic Excellence (CAEs) for research, graduate studies, and resident collaborative degree programs. This partnership also seeks to enhance scientific research in Egypt according to successful models followed in developed countries that integrate graduate studies and scientific research. VT and AU collaboratively award the program degrees, with the students carrying out most of their course work as well as a significant part of their research in Egypt.

 

Personal Information

 

 

Date of Birth:

July, 2nd 1983


http://badge.facebook.com/badge/744475388.3500.1815619267.png

 

Place of Birth:

Alexandria, Egypt

 

Marital Status:

Married and have two kids

 

Military Status:

Temporarily Exempted

(the sole son of his living father)

 

Nationality:

Egyptian

 

Education

 

 

Virginia Tech – Virginia – USA                          2011- present

             Ph.D., Electrical & Computer Engineering Department

             Title :   Hydra VM: Extracting Parallelization From Legacy Code Using STM

             GPA :   4/4

Virginia Tech – Virginia – USA                          2009-2011

            M.Sc., Electrical & Computer Engineering Department

             Title :   HyFlow: A High Performance Distributed Software Transactional Memory Framework

             GPA :   4/4

Faculty of Engineering – Alex – Egypt              2001-2005

             B.Sc., Computer and Systems Engineering Department

             Overall Grade :   Distinguished    91.67 %

             Graduation Project : Virtual Classroom

             First of the Faculty at year 2000-2001    Distinguished    95.3%

             First of the Computer Science Department

             Distinguished in all years

Al Abasia High School – Alex – Egypt                        1998-2000

             Overall Grade :   Distinguished    97 %

 

 

 

Languages

 

 

 

Arabic   :  Fluent - native language

English :   Very good

German:   Fair

French  :  Fair

Qualifications

 

 

 

 

Skills:

Managing and coordinate teams in software projects

 

 

 

Programming:

 

x86 Assembly, Pascal, GW-Basic, Q-Basic and C/C++ languages

Visual C++ 6.0 using MFC

C++ Builder 6.0

Visual Basic 6.0

Java 2 for Mobile Applications       J2ME

Java 2 for Standard Applications   J2SE

eclipse SWT Java GUI package

eclipse Rich Client Platform (RCP) applications

Pluggable Java Components (PJC) for Oracle web forms

Using Java Design API (JDAPI) for Oracle web forms

Bash Shell Script

CUDA

 

 

 

 

Networking:

 

TCP/UDP socket programming using Java

SCTP using Java

Using PeerSim, JSim and NS2 network simulators.

 

 

 

 

Web Development:

 

HTML, DHTML and XML

Java Script

Java Server Pages (JSP), Java Beans, Servlets and EJB       J2EE

Java Standard Library (JSTL)

Asynchronous Java and XML messages (AJAX)

Ruby on Rails

Working with JBoss, Apache Tomcat & Enhydra application server

 

 

 

 

Design & Analysis:

MVC model 1 and 2

Good Knowledge of Java Design Patters & Anti-Patterns

Using Unified Modeling Language (UML) diagrams

Using Entity Relationship Diagrams (ERD) and Enhanced ERD (EERD)

 

 

 

 

Data Base:

 

Oracle 8i, 9i and 10g

Oracle Developer 6i, 9i and 10g Forms & Reports

Oracle Application Development Framework (ADF)

Oracle Warehouse Builder – OWB

Data Stage

Microsoft SQL Server 2005

Hibernate 3.0, EJB 2.0 and EJB 3.0

SQL, Oracle PL/SQL and Hibernate Query Language (HQL)

MySQL Administration, Clustering & Replication

 

 

 

 

Graphics:

Good knowledge of GIMP, Adobe Photoshop and 3D Studio MAX

 

Publications

 

Thesis
M. M. Saad. "HyFlow: A High Performance Distributed Software Transactional Memory Framework". Master’s thesis, Virginia Tech, ECE Dept., Blacksburg, VA, USA, April 2011.

Conference Papers
M. M. Saad and B. Ravindran, "Transactional Forwarding: Supporting Highly Concurrent STM in Asynchronous Distributed Systems", In 24th International Symposium on Computer Architecture and High Performance Computing (SBAC-BAD '12), October, 2012 Columbia University, New York, USA
M. M. Saad, M. Mohamedin and B. Ravindran, "HydraVM: Extracting Parallelism from Legacy Sequential Code Using STM", In 4th USENIX Workshop on Hot Topics in Parallelism (HotPar '12), June 2012, Berkeley, CA
M. M. Saad and B. Ravindran. "Hyflow: A high performance distributed software transactional memory framework". In HPDC '11: Proceedings of the 20th IEEE International Symposium on High Performance Distributed Computing, San Jose, California, USA, June 2011.
M. M. Saad and B. Ravindran. "Supporting STM in Distributed Systems: Mechanisms and a Java Framework". In TRANSACT '11: Proceedings of the 6th ACM SIGPLAN Workshop on Transactional Computing, San Jose, California, USA, June 2011.
M. M. Saad and B. Ravindran. "Snake: Control Flow Distributed Software Transactional Memory". In SSS '11: Proceedings of the 13th International Symposium on Stabilization, Safety, and Security of Distributed Systems, Grenoble, France, October 2011.
M. M. Saad, Mohamed Mohamedin and B. Ravindran. "Hydra VM: Extracting Parallelization From Legacy Code Using STM". In Hotpar '12: 4th USENIX Workshop on Hot Topics in Parallelism, Berkeley, CA, USA, June 2012.

Technical Reports
M. M. Saad, M. Mohamedin and B. Ravindran, "HydraVM: Technical Report", ECE Dept., Virginia Tech, January 2012
M. M. Saad and B. Ravindran, "Control Flow Distributed Software Transactional Memory: Technical Report", ECE Dept., Virginia Tech, February 2011
M. M. Saad and B. Ravindran, "Distributed Hybrid-Flow STM : Technical Report", ECE Dept., Virginia Tech, January 2011
M. M. Saad and B. Ravindran, "Transactional Forwarding Algorithm : Technical Report", ECE Dept., Virginia Tech, January 2011

Articles
M. M. Saad, "Applying Formal Methods on Software Development", ECE Dept., Virginia Tech, January 2011
M. M. Saad and B. Ravindran, "Friend Atomicity", ECE Dept., Virginia Tech, March 2011

Work Experience

 

 

 

Siemens

Worked as a Temporary Technical Employee in Siemens Corporate Research, NJ, USA. I'm performing research and development in architecture and platforms using Java and JEE technologies.

Period: 9 months                                  Aug-2011 till May-2012

 

Easy Dialog Ltd.

Established and managed Egypt branch (20+ employee) for a German software house that provides data warehousing services and automotive marketing and stock management systems.

Period: 4 years                                     Dec-2006 till Aug-2010

 

EJADA Ltd.

 

Worked as a software developer at EJADA company, a leading IT services & solutions provider in Middle East & North Africa.

Period:  1.5 years                                 Jul-2005 till Dec-2006

 

IST

Part-time Java developer at Information Systems Technologies co. a software company in the field of shipping systems and hotels management software. This job was in parallel with my main job at this time at EJADA.

Period:  1 year                                      Dec-2005 till Dec-2006

 

CSD Coders

 

During my spare time, I worked as freelancer via sites like vworker.com. My account at this site has become one of the top coders’ accounts. We made several project for different software companies at USA, UK, Italy, Australia and Argentina.

Period:  7 months                                 Spt-2005 till Mar-2006

 

Faculty of Engineering

Part-time demonstrator, TA at Computer Systems & Engineering, faculty of engineering, Alexandria university - Egypt. worked as instructor for Object Oriented Programming (OOP) for 3 semesters, Database Design and Analysis course for 4 semesters, Programming and File Structure courses for 3 semesters, Numerical Analysis, Network Security, and Theory of Computation courses for 1 semester.

Period:  4 years                                     Jul-2005 till Jul-2009

Summer Training

 

 

 

IBM Summer Training:

Training at IBM Egypt company - Cairo. Training was mainly in Java applications by making several projects like Java Dynamic Compiler and applying MVC model in Server-Client application. Training also included working on IBM products such as Rational Rose and Web Sphere.

Period: 5 weeks                                    Summer 2004

 

 

 

Oracle Summer Training:

Training course by Oracle Egypt included learning Oracle-SQL, Java, JSP and Servlets

Period: 2 weeks                                    Summer 2004

 

 

 

 

 

 

IT Worx Summer Training:

Training at IT Worx software company at Free Zone - Nasr City - Cairo. It was in Mobile Applications using J2ME, using MS Share Point for web design, and Technical writing training by writing Jscript course for National Junior Developer project.

Period: 7 weeks                                    Summer 2004

 

 

 

College Web Design Summer Training:

Included trying to design the site of the department, learning HTML, DHTML and ASP.

Period: 2 weeks                                    Summer 2002

 

 

 

College Summer Training:

Included Introduction to Hardware and Simple C course.

Period: 5 weeks                                    Summer 2002

 

Research Projects

 

 

 

·         Hydra VM

Multicore Java Virtual Machine Prototype, hydravm.org, based on Jikes RVM. We try to extract possible parallel execution paths from sequential legacy code, and utilize available processing power and distribute work over multiple cores. Program symantics and data consistency are maintained through customized software transactional memory framework.

·         HyFlow

Distributed software transactional memory framework, www.hyflow.org, that supports data-flow model and control-flow model and different APIs for plug-ins mechanisms such as; directory managers, distributed transactional memory, contention managers. It is based on Aleph Toolkit, and uses Java instrumentation to hide the complexity of underlying transactional code, using HyFlow user just annotate atomic or remotely executed code and my instrumentation engine handle the rest transparently. To the best of my knowledge, it is the first implementation for distributed STM.

·         MESI Cache Coherence Simulator

Open source java-based simulator for multicore environment that uses MESI protocol for cache coherence. We built the simulator and overload it with the basic functionality of Eager-Pessimistic Transactional Memory support.

·         Human Face Detection System

It was Vision graduate course term project, it was based on a method proposed by Peter Peer and Franc  Solina for detecting human faces based on shape features (eye pairs) and skin color. I implemented their proposal using JavaVisSF library and succeeded to detect multiple human faces for input messages.

·         P2P Network simulator

This was a work group in Network course for studying the effect of reliability and availability of peers in peer-to-peer networks on content availability. We built our own simulator using JBitTorrent library to measure different values for mentioned parameters on content availability.

أعلى النموذج

 

Selected Enterprise Projects

 

 

 

·         Smart Grid
Smart Grid manages the energy networks that carry electricity from suppliers to consumers. It provides a class of technology designed to modernize the existing utility grid to improve the efficiency on the power network and in energy users' homes and businesses. I worked as a member of the Demand Response team in this project. Siemens SCR.

·         Auto Online System 24
An enterprise automotive portal for data warehousing. Through this system we serve over a thousand autos dealers at Europe & South America Easy Dialog Ltd.

·         Mobile 24
Online search engine for autos that servers customers at Norway & Sweden. It is the official exclusive partner for mobile.de Easy Dialog Ltd.

·         Easy Mail Manager
An enterprise email management system customized for vehicles industry that manges mails distributions and maintain customers FAQs to autos' dealers. It is multi-lingual system that support English, German and 10 other languages. Easy Dialog Ltd.

·         Easy Go
Distributed stock management system customized for vehicles. It is bi-lingual system that supports English and German. It provides its user with offline capabilities to maintain his stock and optionally synchronize his local data with centralized cluster of servers. Easy Dialog Ltd.

·         Container Management System
I was involved in the design and implementation of shipping field related project for managing containers movement through ports, trucks and stock. The project cover four modules; Documentation, Agency, Container Control and Disbursement.IST co.

·         Report Writer II
Dynamic tool for creating user-defined reports. It is based on Oracle 6i developer forms and Oracle 9i database engine. Also it has a report viewer module which is a C# application , EJADA Ltd.

·         KSA Border Guards
Oracle 10g application using Oracle 10g developer suit and Pluggable Java Components PJC for KSA defend ministry and border guards. I worked as a member in the teams of Security, Purchasing and Inventory modules and was the team leader of the Setup module , EJADA Ltd.

 

أعلى النموذج

Selected Outsourcing Projects

 

 

·         HTML Compression
Web compressing application for compressing and online de-compressing of Html pages, the applications was with Visual C++ 6.0 MFC and it included porting LZB compressing library from C to Java Script. It was for zipworks.com company, USA.

·         Product Viewer
Products viewer application for zipworks.com company. It is MFC application that retrieves data from some XML files and images and views them in owner drawn list, USA.

·           SSL-Explorer Customization
Open-source project modification for IT Genomics www.itgenomics.com, USA.

·         Java Swing Components
Special swing control for displaying entities relations through custom grid that allow drag and drop using DnD java package. USA.

·         Prolog IEPL Java Project
Simple Prolog (Artificial Intelligence Programming Language) compiler for interpreting prolog programs. Australia

·         Custom IE toolbar
Simple Internet Explorer toolbar plug-in using MFC and ATL-COM, Argentina.

·         Image Viewer
Custom images viewer, processor and printing with user defined zooming values, using Visual C++ MFC, Italy.

·         List Processor and Unifier
java eclipse RCP application for processing large server logging flat files and apply some heuristics to discover users entry patterns, That project for Commercestream Corp., USA.

 

Graduation Project

 

 

Virtual Classroom graduation project, it is an e-Learning system that manages both static viewing of lectures, and contents management system for dynamic creation of educational courses.

Virtual Classroom is the main application of the project as it simulates real life classes. It supports centralized video/audio streaming between instructor and students using Helix server, P2P voice chatting, embedded chatting messenger between students and assistants, slides viewing and using whiteboard.

We have a web system that support users with information, registration system and services such mailing system and forums.

We used Java SWT for client applications to guarantee portability, and ASP.Net at the server side to get use of its integrated components. Finally we implement the DB tier using SQL Server.

 

Under Graduate Academic Projects

 

 

Forth Academic Year 2004/2005

·         Implementation of some indexing and file techniques

·         Students Registration System project under Oracle 8i

·         Chatting project using TCP/UDP socket programming under Java

·         ITSIAC machine simulator using C ,under Linux and Dos, and Java

·         Lexical Analyzer generator using Java

·         Local machine chatting application using pipes under Linux using C

Summer 2004

·         Gawab application; a full featured word/Html editor for designing mails, it contains more than 60 different design. Implemented using visual C 6.0 MFC.

·         Barcode mobile application using Java ME, IT Worx summer training

·         Java dynamic compiler project for compiling code streams on fly, IBM summer trainning

Third Academic Year 2003/2004

·         Huffman Compressing-Decompressing project using Visual C 6.0 MFC

·         Chess GUI game using Assembly 8086

·         Design of MIPS Multi-cycle processor with RISC architecture using Xilinx

·         Implementation of many data structure projects such as Binary Search Trees, AVL Tress, most well-known Searching, Sorting, Hashing techniques and Graph algorithms using Visual C 6.0.

·         Numerical Analysis projects for solving non-polynomial and polynomials using many different numerical techniques , and solving a set of equations using C Builder 6

·         Typing tester for measuring typing speed and learning typing on keyboard

·         Many programs and games using Visual C++ 6.0 MFC such as 8Queuens, Knight Tour, Ghost, Mail Organizer and CD Indexer.

Summer 2003

·         Prince fighting game using C Builder 6 (the game and its source code can be

Second Academic Year 2002/2003

·         Paint brush program under DOS using C and SRGB graphics library

·         Some Automatic Control applications such as Routh's Criterion, Signal Flow Graph and Root Locus using C Builder 6

·         IBM 360/370 Assembler simulator using C Builder 6

Summer 2002

·         Domino Master game using C language

·         Participation in designing department web site

First Academic Year 2001/2002

·         Simple DOS games (Arckanoid, Black Jack and Domino)  using Pascal

Miscellaneous Projects

·         Some applications using Visual Basic 6.0 such as Photos viewer, Coins Album, Desktop games, Hangman and Puzzle games – 1999/2000

·         Simple DOS game using GW Basic – 1998