1. GURPINDER SINGH GHUMANAddress: 2818 Ellendale Place,
Apt-7, LA, CA- 90007
Email:gghuman@usc.edu
Cell: +1(909)642-6920 |
EDUCATION
University of Southern California, M.S. in Electrical Engineering (Computer Networks), GPA 3.5 Dec 2016
Coursework: Introduction to Computer Networks, Probability, Operating Systems, Wireless Networks, Computer Communications,
Broadband Networks Architecture.
Punjab Technical University, B. of Engineering in Electronics and Communication, GPA 3.7 July 2009 to May 2013
TECHNICAL SKILLS
Programming Languages: C, C++(beginner), Python, MATLAB.
OS: Windows, MAC OS, Linux, GDB
Tools: Wireshark, Riverbed, GNS, Cisco Packet Tracer, GDB, Valgrind, LabView, MATLAB, Arduino, Mininet, Opnet
Networking Protocols: TCP/IP, UDP, OSPF, DNS, DHCP, ARP, RIP, BGP, Ethernet, Wi-fi, IPV4/IPV6
WORK EXPERIENCE
Infosys (Intern) June 2010- July 2010
Operating Systems- The brief introduction to operating systems and detailed study of Deadlocks.
Problem-solving techniques using C programming.
Integrated Project Development- Banking system.
Access Point (Intern) May 2013- July 2013
Detail study of Networking Protocols- TCP/IP, UDP, OSPF, DNS, DHCP, ARP, RIP, BGP
Troubleshooting and solving network issues.
Designed a network connecting 3 buildings of High Court to set up a secure connection between them. The network was
designed using Cisco Packet Tracer and GNS-3 software.
University of Southern California(Graduate Assistant) August 2015- Present
“High touch” student support – Helping Student with their online application process.
Application Process, Software- Salesforce, SYS, Apply yourself and Image viewer.
ACADEMIC PROJECTS
Software Defined Networking(SDN) : Project involved implementing the following:
Built a fat-tree topology for data centres on top of mininet and used ECMP (Equal Cost Multiple Path) routing to route packets
through the network. Ryu-controller was used to install rules on Open Flow 1.3 Switches. Implemented in Python.
Traffic sender and receiver ran on each host, to send and receive traffic using TCP sockets. Sender and receiver were
implemented using C.
A scheduling algorithm (Hedera) was implanted as an add-on to the ECMP approach at the controller, which detected and
scheduled the elephants flows efficiently in the network to minimize congestion and maximize throughput. Throughput
increased from 40Mbps to 60Mbps and was much more stabilized.
Design of Kernel Operating System - Weenix: Built the operating system named weenix in C:
Processes and Threads: Implemented Process creation, thread creation, scheduling mechanism and synchronization primitives
in the first phase.
Virtual File System: Implemented an interface between Kernel file system and file system, S5FS and RAMFS in the second
phase.
Virtual Memory: Implemented process address space, page-fault handling, forking a process to run user level programs in the
third phase.
Multi-threading - Token Bucket Emulation in C: Implemented a Traffic Shaper which transmits packets controlled by a token bucket
filter using multithreading within a single process. Used Pthread library (POSIX) and implemented signal and interrupt handling.
Distributed hash table using Unix Socket Programming: Simulated a file-sharing network database system by using a hybrid
architecture with TCP and UDP sockets. Directory server operated as a co-ordinator between the servers and clients. The clients
communicate with the server through Bidirectional UDP sockets and servers communicate with each other through TCP sockets, similar
to recursive DNS process.
VLAN based routing in Data Center Topology: Implementation of a fat tree (k=4) topology for a small Data Centre on top of Mininet,
in Python. Topology consisted of edge aggregate and core switches. Design of a congestion-aware routing protocol based on SDN, on
Ryu Controller.
Bank statement using Doubly Circular Link-list in C: Maintained a data structure (sorted according to time) for all bank transactions.
Implemented functions for different operations on the created circular linked list. Displayed data in the correct format as provided.
Designed a Power Allocation Algorithm for MIMO in MATLAB: Designed an algorithm to partition the transmitter-receiver pairs
into sets such that pairs in a set are able to transmit data simultaneously. Maximized the number of partition and hence assigned low
power to each partition.
Designed CSMA/CA Network in NS-3 and MATLAB: Designed an IEEE 802.11 network that uses CSMA/CA with binary
exponential back-off to avoid collisions (Distributed Coordination Function), saturation throughput using NS-3 and MATLAB.