ALEXEY FEDOSOV
2130 Fulton Street
San Francisco CA 94117
Phone: 415.422.5185 work
E-mail: fedosov at usfca dot edu
To obtain a position in System Administration or Software Development
with emphasis on parallel / distributed systems.
| Summary of Qualifications |
|
Experience: 7 years in System and Network administration with
emphasis on Linux clusters, and in Software Development
Languages: C, C++, Python, x86 assembly, Java
Operating Systems: Linux, Windows*, Mac OS X
Networking: TCP/IP suite, Ethernet, Myrinet, Infiniband, Routing, Firewalls
APIs: BSD sockets, pthreads, MPI, QT, pcap, Win32, DirectX, OpenGL, SDL, Winsock, CGI
Network Applications / Services: nfs, dhcpd / bootp / pxe, iptables,
iproute2, sendmail, postfix, mailman, BIND, samba, netreg, amd, autofs,
CUPS, Apache, OpenLDAP, MySQL, Perforce, AMANDA
Experience with kernel and device driver development under Linux
Experience with SMP and multithreaded programming
Thorough knowledge of PC hardware
University of San Francisco, San Francisco, CA
System Administrator, College of Arts and Sciences (08/01 - present)
Cluster Next Generation (2006-present)
* Team lead on specification, and support of three Linux clusters
of various sizes (from 8 to 24 nodes)
* Infiniband, Myrinet, Gigabit
* Specified power and cooling requirements to support the new
infrastructure
* Interface with system vendors to obtain and evaluate quotes and
proposals
* Assembled and deployed a cluster from scratch
Flashmob Supercomputer
(2004)
* Set up a test environment to run experiments and preliminary benchmarks
* Contributed code to the custom Linux kernel used on the FlashMob CD
* Oversaw the setup of the computers and network equipment before the event
* Tested sections of the cluster by running Linpack on a subset of nodes,
troubleshooting as necessary
* Oversaw execution of the Linpack benchmark once the machine was assembled
and ready
Keck Cluster (2001-2006)
* Set up (2001) 64-node Beowulf cluster connected by a Myrinet and a
Fast Ethernet networks
* Currently (2006) upgrading the cluster to dual Opteron machines,
including the specification of additional power and cooling
requirements
* Set up various supporting hardware for the cluster
(BayTech power distribution units, APC UPS)
* Installed Red Hat/Fedora Linux on the cluster via kickstart
* Installed and configured various MPI implementations (MPICH, MPICH-GM, LAM)
* Installed and configured different scientific software packages, such as ATLAS, BLAS, LAPACK, SCALAPACK, PLAPACK, PETSC, and ParMetis
* Built a server to provide NFS, DHCP, DNS services for the cluster
* Developed a node management tool (in C and Python) to control node allocation
Kudlick Classroom (2001-present)
* Participated in the design and specification of the technical aspects of the Kudlick Classroom (a multimedia teaching facility)
* Oversaw the computer equipment budget
* Designed and specified the network infrastructure and the student workstations
Department of Computer Science (2001-present)
* Currently overseeing 64 lab workstations, 64 cluster nodes, and 20+
servers in addition to faculty personal and research systems
* Currently maintaining the department's mail, web, DNS, LDAP, and Samba servers
* Set up and currently maintaining the department's network infrastructure,
including a Gigabit Ethernet network, firewall and routers
* Assisted Internet Archive in establishing a wireless network link to the University and setting up a freecache server
* Built and deployed disk images for the Computer Science lab machines via kickstart under Linux and Symantec Ghost under Windows.
* Set up and maintaining LDAP servers and accounts for 1000+ users
* Provided end-user support (Linux and Windows) for faculty and students
* Taught courses in Assembly Language and Systems Programming
* Developed a web application to facilitate in the hiring process
University of San Francisco, San Francisco, CA
Research Assistant, Systems Research Group (06/99 - 05/01)
* Participated in a research project on memory performance, cache coherency,
and computation granularity on the Pentium family of processors
* Developed Linux kernel modules for programming Pentium performance counters and an API for user-level access to them
* Created a suite of tools (in C & Perl) to facilitate program monitoring using performance counters
* Designed and implemented a new user-space thread package for Linux with support for Scheduler Activations
* Implemented new Linux system calls for the Scheduler Activation mechanism and added support for it to an existing pthreads package
University of San Francisco, San Francisco, CA
M.S., Computer Science (currently enrolled)
Expected graduation date: 12/07
GPA: 4.0
University of San Francisco, San Francisco, CA
B.S., Computer Science, Mathematics minor (5/01)
Magna Cum Laude
A. Fedosov, G. Benson Communication with
Super-Flexible Messaging. Proceedings of the Parallel and
Distributed Techniques and Applications Conference (PDPTA 2007). June
2007.
G. Benson, A. Fedosov Python-Based Distributed
Programming with Trickle. Proceedings of the Parallel and
Distributed Techniques and Applications Conference (PDPTA 2007). June
2007.
G. Benson, M. Butner, A. Fedosov, S. Padden
The Virtual Processor Interface: Linux Kernel Support for User-level Thread
Systems.
Proceedings of the Parallel and Distributed Computing and Systems Conference
(PDCS 2003). November 2003.
Building a Better Netreg. An article on creating a
custom wireless registration system with Linux.
Python/QT Tutorial.
A tutorial on building Python GUI appplications with QT.
Master's Thesis: Reliable Virtual Resources (09/05 - current)
* The RiVeR framework is a programming model and run-time environment
that provides a simple interface to fault-tolerant compute and
storage resources. Our goal is to provide a unified view of
shared memory mulitprocesors and distritbuted memory clusters
for a wide range of application developers. While there exist
several languages and libraries for parallel scientific computing,
they are not appropriate for general purpose productivity applications
due to programming complexity and significant administrative requirements.
River allows an application to easily exploit multiple
CPUs and mulitple storage components for increased performance
and reliability.
MathCandy (6/06 - 12/06)
Node Control System (12/01 - 6/02)
pyRyll (4/05 - 5/05)
* As part of a two-person team, rewrote the Ryll game (see below) in Python
and SDL (with pygame). The network layer was written from scratch and
uses peer-to-peer networking, based on multicast, instead of a
client-server model.
td2000 (3/05 - 4/05)
* A file sharing program implementation (written in Python and QT) supporting
decentralized (no central server) operation using multicast.
AXEmail (10/04 - 12/04)
* As part of a two-person team, implemented a fully-featured web-based e-mail
system in Java with a mySQL backend
Book Shopping Agent (03/03 - 05/03)
* Created a book shopping agent in Python with CGI that used Amazon Web
Services to perform book searches and make intelligent suggestions based on
user's choices.
Parallel Compiler (08/01 - 12/01)
* Implemented a parallel compiler for the mySAL programming language that
generated Python MPI code
Return to Ryll: A Multi-player game (08/00 - 05/01)
* As team leader on a game project sponsored by Blizzard North, designed
and implemented the infrastructure for a cross-platform multi-player
persistent-world online action game. Developed a multi-threaded server
application to support up to 1024 players. Also developed the graphics
and sound libraries using DirectX API under Windows and SDL under Linux
Linux device driver for 3COM 3C905 NIC (08/00 - 12/00)
* Created a device driver for the Linux kernel for the 3COM 3C905B network
card based on specifications published by 3COM. (Not to be confused with
the real kernel driver; this was merely my own attempt at writing a Linux
network driver.)
References available upon request.