Harish Chandran
Second Year PhD Student
Department of Computer Science, Duke University

Research

Research Interests

I have broad research interests including Nanoscience, Algorithms, Computer Architecture, Mathematical Modeling and Scientific Simulations.

Research at Duke

I plan to work on Theoretical Computer Science and DNA Nanscience at Duke CS. So far I have done a few class project.

Computer Architecture - Dynamic Heterogeneous Core Scheduling

The magnitude of a branch misprediction penalty is highly dependent on processor pipeline depth. Although longer pipelines may allow higher clock frequency, because less logic is performed in each stage, a fundamental trade-off exists between increased clock speed and accumulated misprediction penalties. Some programs, with easily predictable branches, will perform optimally on long pipelines. The performance of others will be less acceptable on these deep pipelines due to frequent misprediction penalties. These programs would perform optimally on a shorter pipeline achieved through a slower frequency design. Current-generation processors commonly utilize multiple cores to exploit thread-level parallelism. Mainstream production designs consists of either two, four, or more homogeneous cores. Since the cores are identical, the advantages and disadvantages of design decisions are replicated on each.
This work considered the sensibility of a heterogeneous design where each core could have independent microarchitecture, within certain feasibility constraints. We created a heterogeneous core design with which we attempted to individually exploit the advantages of multiple design decisions within the same chip. In particular, we investigated the benefits of a processor design with cores of varied pipeline depth and frequency. Through intelligent speculative context swapping between cores, concurrent threads can be optimally allocated among the various heterogeneous cores based on their respective likelihood of branch misprediction. To test this, we considered a dynamic analysis method by which we heuristically determined when such swaps should occur. In order to evaluate our design, we compared our simulation results with those achieved by both an equivalent homogeneous multi-core processor and an idealized heterogeneous design using an oracle to make optimal swapping decisions.

Computational Geometry and Linear Programming - Geometric Duality and Linear Programming

Linear programs are problems that involve the optimization of a linear objective function subject to linear constraints. Every linear program has an inherent geometric representation. Each constraint defines an halfspace and the feasible region of the the linear program is the convex polyhedron defined by intersection of all the halfspaces. The maximal solution to the linear program (if it exists) is a vertex on this polyhedron. In this project, we looked to approximate the feasible regions of linear programs. We used geometric duality to convert a set of constraints C to a point set S in the dual space and then apply the idea of approximate point set of S. In particular we studied the following problem:
Definition: Let for any set of constraints C and an objective function obj, L(C, obj) represent the the maximal value of obj constrained by C.
Problem: For given set of constraints C with a non null feasible region, a parameter ε ∈ (0, 1) and any objective function obj is there a sparse set of constraints C' such that

L(C, obj) &le L(C', obj) &le (1 + ε)L(C, obj)


Nanoscience - Biomolecular Detection using DNA Based Nanoparticle Arrays

Disease diagnosis often requires multiple time-consuming, labor-intensive methods. A quick and simple detection system for multiplexed analysis, using self-assembly of nanoparticle functionalized DNA tiles, was proposed. Severe Acute Respiratory Syndrome (SARS) was chosen as the prototype disease. Two potential approaches to biomolecular detection were examined: Surface Enhanced Raman Scattering assays and a computational DNA tiling system with plasmonic repsonse based output detection. Spectra of the different systems and enhancements of nanoparticle arrays were determined analytically. It was found that both detection schemes exhibit promise, and further experimental exploration was recommended.

Research at WARFT

My research during college included projects in benchmarking, computational neuroscience, microprocessor design automation and VLSI routing. These were carried out as part of my requirement as a research trainee at Waran Research Foundation(WARFT).

Benchmarking - Project BENSIM

BENSIM is a project aimed at creating a synthetic benchmark for use on supercomputing clusters. Key metrics determining the goodness of a system: power, performance and scalability, are determined when the cluster runs a synthetic mixture of algorithms. The algorithms that are used are the basic algorithms that we encounter in scientific computing applications. These are:LU Decomposition, Single Value Decomposition, QR Decomposition, Matrix Inversion, Sorting, BFS, DFS, Primality Testing, Kernighan-Lin Algorithm, Convex Hull, Large Number Arithmetic, Random Number Generation (Mersenne Twister), Hamiltonian Path Problem, Traveling Salesman Problem.
These algorithms are stored in ALGOBANK, along with their computational and communicational complexities. The complexities are stored are weights from 1 to 10, for a given input size N. New algorithms can be added to the ALGOBANK as per the user`s choice. BENSIM chooses a subset of the algorithms and creates an execution graph. It allows for sufficient parallel paths to allow a reasonable utilization of the cluster`s resources. This execution graph can be made computationally intensive (Higher node weights) or communicationally intensive (Higher Edge Weights) as per the user`s choice. Moreover, the user can specify the percentage of numeric, semi numeric and non numeric computations in the benchmark. This allows a high degree of fidelity in the benchmark, enabling users to test the cluster performance in different scenarios. The KERNAL extracts performance and power figures from the cluster specific simulator based inputs and also calculates scalability by varying cluster size for the same benchmark.

Computational Neuroscience - Project MMINiDASS

The MMINi-DASS, Multi Million Neuron Interconnectivity Prediction using Dendrite, Axon, Soma and Synapse, aims at predicting the neuronal interconnectivity of various cortices of the human brain. The basic approach is that of iterative refinement, where we start out with a random interconnectivity of a cortex and then will refine it iteratively based on actual fMRI imaging. In each iteration, input stimuli are injected as spike trains into few neurons and the overall activity of the cortex is recorded. Based on the hemodynamic of the neurons, the simulated BOLD response and the subsequent simulated fMRI is computed. This simulated fMRI is then compared with the actual fMRI obtained for the same input. The difference between the two is reduced by altering the structure using Simulated Annealing. To establish neuronal interconnectivity, various parameters that characterize the interconnectivity are scheduled. There are as many as 35 parameters which include neuron threshold, rest potential, neuron cell body geometry, axon length, number of dendritic branches, tree tapering coefficient, vescicular release probability, recovery time, etc. Once a high correlation is obtained, a greedy approach is used to zero in on the actual structure. An event driven simulation engine drives the actual neuron simulations which are based on many plug-in components.

VLSI Routing - Channel Routing using PSO

The project aimed at using the methods of Particle Swarm Optimization for solving the channel routing problem in VLSI. Based on the requirements of the PSO algorithm,a set of parameters were identified, which affect the routing decisions. These parameters are used in turn, to develop the fitness functions, which are used to gauge the effectiveness of the solution produced. The project analyzed the results obtained from this algorithm for routing and provided insights that could result in further improvements with respect to algorithm fine tuning and parameters used.

Microprocessor Design Automation - DNA Evo Based Design Automation

This project aimed at developing a methodology to automate the design process of a microprocessor by using a DNA based evolutionary approach. Parameters that are defined a microprocessor are encoded onto DNA sequences which then undergo recombinations with other sequences along with mutations. These offsprings are then decoded into microprocessors and evaluated. Over a period of time a Gene-pool is built up from which processors according to user specifications can be evolved. A more detailed description of the entire process can be found in [1] & [2].

Papers Published

[1] N Venkateswaran, Arjun Kumeresh. M, Deephan Venkatesh. M, Harish Chandran, Vasanth. P, Microprocessor Design Automation: A DNA Based Evolutionary Approach, Brain Inspired Cognitive Systems (BICS 06, Greece:Poster)

[2] N Venkateswaran, Arjun Kumeresh. M, Harish Chandran, DNA Based Evolutionary Approach for Microprocessor Design Automation, International Conference on Adaptive and Natural Computing Algorithms (ICANNGA 07, Poland: LNCS 4431, pp. 11 to 22, 2007, Springer-Verlag)

[3] Venkateswaran Nagarajan, Karthik Srinivasan, Ashutosh Mohan, Vijay Daniel, Vijay R, Harish Chandran, Vignesh J, MMINi-DASS - Large-scale Brain Circuit Construction and Simulation for Interconnectivity Prediction, Frontiers in Neuroinformatics (Neuroinformatics 08, Stockholm, Sweden)