Our 21 students are working in labs from NC (Duke) to MA (Harvard and MIT), and on topics from computer languages to tissue formation. Join us here to read weekly updates from their time in the lab!

Visit the EXP page on Peddie website: peddie.org/EXP.

Showing posts with label Sohan Kumar. Show all posts
Showing posts with label Sohan Kumar. Show all posts

Tuesday, September 3, 2013

Computer Networking Lab Week 9

Hi this is Sohan checking in for the last time. I finished working in a computer networking lab this summer at Columbia University.

I finished on August 1st after Varun left for India for the rest of summer. I did more of the same kind of work: ran tests on the orbit lab, processed the .pcap files using the Python scripts, and then graphed the data using the MATLAB scripts. This week, however, I spent most of my time debugging parts of the MATLAB script. Some of the nodes in the Orbit-lab create .pcap files and .txt files that are different that those of the other nodes. They include extraneous information that the MATLAB script cannot process. My job was to create a code where the script could automatically detect the defective file, delete it, and then move on to the next in tact file. 

On August 1st, Josiah, the visiting undergraduate student from North Arizona University presented his end project. He did a very good job and even after working with him and performing the same tasks as him, I got the chance to clarify some aspects of the work we did, and gained some insight into the changes he made to the scripts as well. 

Lastly, I held off writing this post since Varun had wanted to come back and present my work and research to the lab group. Unfortunately, the curcumstances did not work out and he had to stay in India for a little while longer and thus I was unable to return. Nonetheless, I greatly enjoyed my time working under Varun and alongside the other members of Dr. Zussman's group. 

Monday, July 29, 2013

Computer Networking Lab Week 8

Hi again, this is Sohan and I am working in a computer networking lab this summer at Columbia University.

Once again, my routine this past week was essentially the same as the weeks prior; try to run the test on the Orbit-lab, process the .pcap files, and graph the results. This last time, however, after several attempts, I was finally able to obtain some data as the test bed did not give too many insurmountable issues. With this new data, I am currently trying to run the Python scripts and MATLAB script to complete the post-processing of this new data set. instead of processing and graphing previous data sets. Given that this is a new data set, the post-processing also poses issues as some of the nodes from the test bed cannot properly create .pcap files and thus the Python script cannot process them. My new challenges include trying to figure out which .pcap files are causing the issues and to further develop the script and make adjustments to it so that it can process the .pcap files smoothly without any errors arising.

Also, this past week, we had a lab meeting where all the Ph.D students had to present their recent work, and a few had to practice their presentations for their posters in some upcoming gatherings. The most intriguing, and the one I could probably understand the most, was one on cascade power failures and how to predict which power lines will go out depending on which line fails. Since Varun was at Bell Labs that day (since our project is in conjunction with Bell Labs), me and Josiah had to present in his place. All the other Ph.D provided very constructive criticism and offered other solution to more efficiently process the .pcap files such as eliminating certain steps, like storing the values in an excel file, that can be avoided entirely and save some time without altering anything whatsoever.

Lastly, since our lab is under rennovation, we are currently working in another work area. However, this past Friday, some workers came to put in some cable trays, can be used to pass wires through and create a mini network of sorts. Instead of it taking them one hour to finish as they said it would, it took them five. Instead, the five of us working in this area went into the kitchen area and watched a few episodes of Breaking Bad to pass the time - one of my favorite days on the job!




Monday, July 22, 2013

Computer Networking Lab weeks 6&7


Hi again, this is Sohan and I am working in a computer networking lab this summer at Columbia University.

These past 2 weeks have been more of the same. I have continued to run tests on the Orbit-lab, process the .pcap files using the Python scripts, and graph the results using the MATLAB scripts. Though it may seem monotonous and redundant, each time accessing the Orbit-lab presents its own adventure with its own unique challenges.

More recently, the nodes in the network are successfully uploading the requisite version of Ubuntu which solved one of my major problems before. However, other problems have occurred such as the nodes failing to communicate effectively with one another and sometimes the drivers not being installed properly (drivers are the device which helps the software communicate with the hardware and vice versa ex: the trackball on the older mouses interpreted the motion of the mouse and sent that information to the mouse driver which interpreted the signal and made the pointer on the screen move in the designated direction). In our case, the driver helps interpret the commands we are inputting and makes the hardware act accordingly ex. if we want the wlan card in the AP to release a signal of 18mbps, we input a command, the driver interprets the commands, and send a signal to the wlan device to release a signal of 18mbps. When the drivers are not installed properly, our commands may be ineffective and futile at points making the process of running the experiment very difficult. Nonetheless, there have been times where the Orbit-lab does in fact cooperate and work adequately and I have obtained data sets to analyze.

Also, over the past few weeks, Varun has had me debug/clean-up/develop the Python and MATLAB scripts. Some of the information previously had to be manually inputted such as the time/date and now, I have made them so that they can obtain the information directly from some of the files in our data sets. Similarly, since we use 2 Python scripts to process the .pcap files and one script is based off of the outputs of the previous script, I have made them more automated where the last script can retrieve the data from the text files outputted from the first script to make the process less complicated and help it run more smoothly.

Lastly, one of the members of the lab is leaving for Korea tomorrow. He will be starting graduate school in the fall at Michigan and will spend the rest of his summer at home in Korea. We had a nice little going away party for him this past week and at the same time welcomed a new member to our lab who will essentially take his place from China.

So far, work has been going well and hopefully, we have some more productive weeks ahead!


Wednesday, July 10, 2013

Computer Networking Lab weeks 2-5

Hi, this is Sohan and I am working in a computer networking lab at Columbia University this summer.

Over the past few weeks, my daily work has remained very similar. It mostly consists of running our experiment remotely on the Orbit Lab. Slowly I have progressed to running the experiment on all 400 nodes, which is a bigger accomplishment that it seems. More often that not , the nodes are unresponsive, or are unable to upload the requisite operating system for us to run our experiment unto their consoles (we usually run the most basic version of Ubuntu available but other experimenters upload other various operating systems best suited to run their experiments). On a good test run, typically 100 or so are unresponsive and another 25 fail to upload the Ubuntu operating system, but obtaining data for 275 nodes is more than enough.

More recently, Varun has had be deal with other pieces of code besides shell scripts. When running the experiment, we retrieve the data and it is stored as several hundred .pcap files on the computer (.pcap files are typically used to log the traffic passing across a wireless network). In essence, the .pcap files are a collection is millions and millions of 1's and 0's which obviously mean nothing to humans, but which the computer can interpret. In order to process the .pcap files, we use a Python script (python is a programming languages) which ultimately outputs information such as the total number of bytes transmitted or the average speed at which these bytes are traveling in KBPS (kilobytes per second). Working with Python was very new to me since prior to this, I had done most of my coding in languages like Java or in C/C++, but nonetheless, learning a new language like Python can never hurt.

The last new major change in my routine has been the implementation of certain MATLAB scripts (MATLAB is also another programming language). The MATLAB scripts are designed to take the specific numbers and data outputted from the aforementioned Python scripts and create histograms based on that data. Data is usually easier to interpret when presented visually and thus we can usually analyze the histograms and see if there are any changes to be made and if the algorithm is working.

Outside of the work, the lab experience has also been helpful and entertaining. There are 4 other member of our lab in the same work area as me and we frequently have conversations as a group about things besides our research. They all give me ample advice on college and what to do/what not to do freshmen year which typically, you can only learn from someone who has experienced it themselves.

I've really enjoyed my time working here thus far and eagerly await the next few weeks of researching!

Thursday, June 13, 2013

Computer Networking Lab: Week 1

My first day at the lab, we had a conveniently planned lab meeting. I had taken the train and subway before to go to Columbia, but since I didn't want to be late on my first day, took a very early train and arrived about 1 1/2 hours before the meeting started. I loitered around the area around Columbia until the meeting started. I got to meet everyone in the lab and learned quite a lot about their projects. Since I found my lab during the last week of school, I spent my first week of summer reading as many articles about my phd student's project as I could. I felt that I had a sufficient understanding of his project and had a grasp on the terminology and concepts being explored. However, when he went to present his project to the group, he presented something completely different. I became concerned that I had spent time reading all the wrong papers, and learning the wrong concepts and terminology and that I was not fully prepared for the lab.

We left the lab meeting and my phd student -Varun- showed me around the building, took me to the lab - which is undergoing renovations, and then took me to the new work area where he had taken the time to set up a desk for me with a computer and four large textbooks all about programming in different languages. Our lab area doesn't look very "sciency," but it is a very comfortable working enviornment. We began talking and fortunately, the first thing he said to me was, "the project I presented is not the project you will be working on." This surely calmed my nerves and the more I talked to him, the more comfortable he made me. He made sure that if I needed anything or needed nay help at all, he would aid me in any way possible. He sent me copious emails explaining different parts of his project to me and sent me several articles and power points to read in order that I have a solid understanding of his project.

I read quite a lot about computer networks in general and WiFi network specifically and learned that they are far different than whatever I read about before. Nonetheless, I was very intrigued about how layered computer networks are, and how servers relay messages to clients. My phd student's research centers around creating an algorithm so that when on a WiFi network, the algorithm can effectively select a "feedback node" - essentially a device which can send information back to the server - so that the server can transmit the data better to all the nodes in the network; this is simply a broad and general explanation.

Over the next few days, I spent most of my time reading the papers and powerpoints, and experimenting with ORBIT - a testbed located at Rutgers that has 400 nodes set up. We access ORBIT remotely from Columbia and can upload Varun's algorithm onto the nodes and evaluate how effectively the algorithm is working. Varun spent a great amount of time explaining his project thoroughly to me and in the most basic terms since he knew I didn't have much experience with computer networks before. He courteously answered all my questions, regardless of how time consuming or basic they were drawing vivid diagrams on the white boards. I got to meet an undergraduate student - Josiah - whom I will be working with. He is an undergraduate student studying electrical engineering at North Arizona University. We both bad quite some trouble accessing ORBIT and were trying to problem solve together but to no avail. I worked on it that night when I returned and, unbelievably, I got to show him how to access it! So far, I've been having a great time and have learned so much. Looking forward to the next week!