Comfortably Geek

Lalith Suresh

Projects

leave a comment »

This page highlights some of my projects. Here’s my github page. Here’s my Ohloh badge too.

Ohloh profile for Lalith Suresh

Current/Recent projects

  • Scaling HDFS Namenode:
    The Hadoop Distributed File System (HDFS) is currently based on a single namespace server (Namenode) architecture. As described in [Schvacko 2010], this design choice makes the Namenode the bottleneck for HDFS’ scalability. In our work, we overcome this scalability limitation by keeping the Namenode stateless, and moving all its metadata storage from memory into a real-time distributed database, MySQL Cluster. By nature of this design, our prototype implementation, dubbed KTHFS, can scale horizontally by adding more Namenodes, and support high availability of the filesystem by not having any single point of failure in the system. Learn more about KTHFS from our presentation slides, and the development repository.

     

  • Network Simulator 3:
    I am one of the developers with the ns-3 project. As of now, I maintain the Click Modular Router and Optimised Link State Routing modules for ns-3. I developed the former in 2010. I also do general maintenance work like fixing bugs and helping out on the mailing lists. I’ve also contributed to the modular refactoring work that was initiated post ns-3.10. Furthermore, I’m ns-3′s organisation administrator for our 2011 Summer of Code (SoC) efforts. Details of my technical contributions are given below:
    • NS-3 Radiotap and Click-MAC:
      This work aims to get Click’s MAC specific elements (mainly Wifi related) to work with ns-3. The project involves implementing full fledged Radiotap support for ns-3′s Wifi, and then a Monitor Wifi MAC high model in the spirit of Linux and BSD, which Click’s interfaces can interact with. This was Ashwin Narayan’s student project for the NS-3 Summer of Code 2011 programme. I mentored this work along with Ruben Merz. We presently have some researchers testing this intensely, after which, we’ll get it merged.
    • NS-3 Click Integration: (merged into ns-3)
      WNS3-Paper
      This project aims to integrate the Click modular router with Network Simulator 3, thus bringing the flexibility of Click to NS-3. It allows users to run Click instances on top of NS-3 nodes, verify them, and deploy the Click configurations almost _as is_ on real networks. It also helps expand NS-3′s feature horizon by allowing the use of Click’s wide array of packet processing elements. This was my Google Summer of Code 2010 project.
    • OLSR-HNA: (merged into ns-3)
      Adds Host Network Association (HNA) support to NS-3′s OLSR implementation. This is an auxiliary feature of the OLSR protocol, specified in RFC 3626. It allows the bridging of OLSR with other networks. This is done by having a node act as an HNA gateway, which announces routes outside the OLSR subnet using HNA messages.

Past Projects

  • QEMU Device State Visualisations:
    code
    This work extends QEMU by enabling the visualisation of an emulated device’s state. Simply put, while QEMU is running, you can switch to the QEMU monitor, and invoke “device_show <device>” and see what values the device’s registers hold. I never got the time to see this through merge, unfortunately. Developed as part of a graduate course on Virtual Execution Environments.
  • Shadowed Vector Field Consistency for Multiplayer Gaming:
    This project builds upon earlier work on Vector Field Consistency, which aims to ease the burden on a centralised server as far as ensuring consistency among clients in multiplayer games are concerned. To put it loosely, “If an object is far enough from the player’s attention, we can relax the consistency requirement on it”. The notion of ‘far’ depends on the game developer. For first person shooter games like Unreal Tournament, it’s easy to see that a player at the other end of the map won’t affect you directly, and thus, you don’t need all updates of his character being propagated to your client. Our work takes this idea a step further by introducing the notion of shadowing. So we implement the idea of ‘walls’, which can shadow an object’s consistency, because objects not within your line of sight may not affect you directly. The code was developed on the Android platform, but is closed source and isn’t publicly available. Developed as part of a graduate course on Mobile Computing.
  • RADICal:
    code
    RADICal stands for “Really Awesome Distributed Internet Calender” (cheesy, isn’t it?). It is a peer-2-peer based Internet calendar, which supports booking of reservations for a particular set of dates among clients, in a decentralised manner. The architecture consists of a centralised lookup service for matching client IDs with their IP/Port tuples. The lookup service comprises of three servers, and can tolerate one failure. Furthermore, the clients use a coordinator based, three phase commit, with conflict resolution, in order to book reservations. The code is written entirely in C#, as part of a graduate course on “Middleware for Distributed Internet Applications”.
  • CloudSim:
    code
    This is a simulator for experimenting with scheduling algorithms for Cloud environments. It was written from scratch using SimPy. The simulation environment consists of clients that push bag-of-tasks or individual job type workloads to a scheduler, which can run scheduling algorithms from a library of provided ones, to allocate these jobs onto a set of worker nodes. The worker nodes can simulate processing power, memory, and swap space. This was conducted as part of a graduate course on Cloud Computing.
  • StreamThing:
    code
    A simple peer-2-peer live streaming protocol, simulated on top of PeerSim. It is essentially a multicast-tree based protocol, with random node joins/leaves to simulate joining/leaving a DHT (like Pastry). Developed as part of a graduate course on P2P and Overlay Networks.
  • BatCop:
    code
    BatCop is a proof-of-concept Battery Attack Detection System, written specifically for Linux. In security lingo, it is a host, anomaly and knowledge based Intrusion Detection System (IDS). This work was initially developed as a semester project for a course in Network and Computer Security undergone during the first semester of my Masters Programme at IST/KTH, and later extended a bit.
  • Countering the Collusion Attack against OLSR based MANETs:
    Publications: [0 - SIN '10] [1 - WD '10] [2 - Book Chapter]
    This was one of my research projects during the latter part of my undergraduate studies at MNIT. The Collusion Attack is a particularly powerful attack against OLSR based MANETs, which reduce the packet delivery ratio of all traffic flows to a victim node to 0%. My work involved designing a detection method [0], and a collusion attack resistant variant of OLSR [1], both of which exploit the convergence characteristics of the underlying protocol in order to be effective. Prior to this, a full survey of DoS attacks against MANETs were also done, published as a book chapter [2].
  • Multi-core Electronic Design Automation Using GPGPUs:
    Publications: [0 - IBM-ICARE '09] [1 - DATE '10] UKIERI page
    With the ever increasing complexity of today’s hardware, EDA designers are finding it hard to meet time-to-market deadlines. This is because EDA tools have not adapted well to multi-core platforms of today. This project aims to bridge the design gap by speeding up Logic Simulation using GPGPUs. This project is funded by the UK India Education and Research Initiative. I worked on this as part of my undergraduate major project.
  • Open High Availability Cluster: HA-Cron:
    code link
    HA-Cron acts as an agent for Cron on OHAC based clusters. This will enable the deployment of a large number of Cron enabled applications on OHAC. This project was completed in May 2009 and was awarded the grand prize in the Sun Code For Freedom (CFF) ’08 contest as well.

Written by lalithsuresh

April 2, 2011 at 9:11 am

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 1,155 other followers