Arpita Sinha – Research Assistant, Teuscher Lab, Portland State University
My background is in materials engineering from Indian institute of technology Kanpur. I graduated in the summer of 2004. After my undergrad, I had five years of work experience with Schlumberger. During the first five years, I was a field engineer in India and then moved to California operations as a service quality coach. Then decided to take a break from work and pursue higher studies in electrical engineering. So, currently I’m pursuing an MS in electrical and computer engineering at Portland State University with Dr. Christof Teuscher as my advisor. I have course related experience and interest in the fields of micro and nano architecture, computer architecture and circuit design.
Most of my work involves modeling and simulation. So my favorite hardware is a blade server that can run a lot of simulations in parallel. Our lab blade server is a Dell PowerEdge with 5 blades = 56 cores, 56GB of RAM and 448 GPU cores. We have one PowerEdge M610x, Intel Xeon X5650 blade four PowerEdge M600, Quad Core Intel Xeon blades. The operating system is Ubuntu (64bit) and the chassis is Dell PowerEdge Blade Server M1000E
For me, ParadisEO (an open source software framework for metaheuristics) has proven to be very useful. The other one of my favorite software tools for research is an open source circuit simulator called ngspice.
When you are dealing with evolutionary algorithms, there are quite a few knobs that you can fine tune. For example, what should be the mutation rate from one generation to the other? It is a number between 0 and 1. There are other similar choices to be made for replacement policies, the cost function for fitness, etc. You have to stochastically determine what those choices are going to be, and that translates into a lot of simulations. The hardest part is, when you change the problem statement, some of these choices have to be re-analyzed. But once the framework is tuned, the way it does our dirty job of finding the optimum solution is just beautiful.
My valued technical books are:
[1] J. R. Koza, Genetic programming III: darwinian invention and problem solving, Morgan Kaufmann, 1999.
[2] J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 3rd Edition, Morgan Kaufmann, 2002.
[3] N. Weste and D. Harris, CMOS VLSI Design: A Circuits and Systems Perspective, Addison Wesley, 2010.
Besides these, I read a lot of both classic and contemporary literature. My bookshelf has collections of Salman Rushdie, Nadine Gordimer, Doris Lessing, Oscar Wilde, Jack Kerouac, Kurt Vonnegut, etc.
I think metaheuristics is a great way to let computers find solutions based on a given target task or function. Once I understood how ParadisEO works, I could use it for my other class projects like finding me an optimum branch predictor design and optimizing my cache size. I just needed to tell the framework what the parameters are and how to evaluate the error or fitness of the design. The machine worked hard overnight. I came to the lab the next morning, finding solutions for my class projects ready on the screen. Sad that I still had to write my own reports.
I’m trying to evolve the functionality of an associative memory and biological neurons from analog circuits using memristors and other non-linear time-dependent devices. These would be building blocks for toplevel networks for cognitive or brain-like computing. We have engineered a genetic programming framework in C++ that evolves sub-programs, in turn generates circuits which fill up the population. The circuits are transformed into netlists and are passed on to ngspice (a circuit simulation software) for fitness evaluation. The analysis is then returned back to our evolutionary framework for populating the next generation. We have had some success with evolving filters, Hodgkin neuron models using active and passive elements, and some very basic associative memories with memristors alone. This project is funded in part by the Sigma Xi Grants-in-Aid of Research Program. Additional funding comes from the National Science Foundation.
Some of the challenges being faced by the computer industry are the increase in parallelism, low power density requirements, static and dynamic fault tolerance, asynchronicity, self-organization and adaption rather than being programmed. In all of these challenges, cognitive computing as solution plays an important role.