LinkedIn since Jun 2011
Senior Software Engineer
Yahoo Sep 2007 - Jun 2011
Software Engineer Sr. (Web Search)
University of California, Davis 2001 - 2007
Researcher
Microsoft Corporation Jun 2006 - Sep 2006
Software Development Engineer (Intern)
University of California, Davis Graduate School of Management 2004 - 2005
Business Development Certificate Program Fellow
Education:
University of California, Davis 2001 - 2007
PhD, Computer Science
University of California, Davis - Graduate School of Management 2004 - 2005
Business Development Certificate, Technology Management, Business Development, Intellectual Property
Indian Institute of Technology, Madras 1997 - 2001
B.Tech, Computer Science
Abu Dhabi Indian School
Skills:
Distributed Systems Embedded Systems Scalability C++ Java Software Development C Hadoop Linux Software Engineering Algorithms Debugging Kafka Offset Resets Spilling Drinks
Us Patents
Incrementally Updatable System Software Infrastructure For Sensor Networks
Systems and techniques for incrementally updating a software stack are described. The software stack can be stored on a flash memory device on a target device. A server computer can receive a modification to a function that is part of the software stack, wherein additional memory is allocated on the flash memory device to allow the function increase in size via a software update. Next, a new memory layout can be determined for storing functions in the software stack based on the modification to the function. The server computer can then determine changes to a set of memory pages on the flash memory device based on the new memory layout. Next, the server computer can send the changes to the set of memory pages to the target device.
Synthesizing A Scalable And Incrementally Updatable System Software Infrastructure For Sensor Networks
Raju Pandey - Davis CA, US Joel Koshy - Davis CA, US
International Classification:
G06F 9/44
US Classification:
717168000, 717120000
Abstract:
One embodiment of the present invention provides a method and a system for synthesizing a scalable and incrementally updatable system software infrastructure for sensor networks. During operation, the system receives a specification for an application and a specification for target devices. The system analyzes these specifications in order to identify a set of software components required to support the application, and then proceeds to synthesize a customizable software stack that accommodates the identified set of software components on a specified target device. This process generates a minimal, resource-efficient software stack for a specific application on the specified target device.
- Mountain View CA, US Jiangjie Qin - Sunnyvale CA, US Adem Efe Gencer - Ithaca NY, US Joel J. Koshy - Sunnyvale CA, US Kartik Paramasivam - Sunnyvale CA, US
Assignee:
LinkedIn Corporation - Mountain View CA
International Classification:
H04L 29/08 H04L 12/26
Abstract:
A system, apparatus, and methods are provided for self-healing and balancing partition distribution across nodes within a message broker cluster. During operation, the system receives a stream of messages at the message brokering cluster, wherein the message stream is divided into partitions and replicas for each partition are distributed among a set of nodes within the message brokering cluster. Responsive to a change in the number of nodes within the message brokering cluster, the system (1) determines a set of replicas to be migrated within the message brokering cluster, (2) divides the set of replicas into multiple chunks, wherein each chunk includes one or more of the replicas to be migrated to a new node, and (3) migrates the set of replicas one chunk at a time, wherein replicas not corresponding to the single chunk do not begin migrating until all replicas within the single chunk finish migrating.
Balancing Workload Across Nodes In A Message Brokering Cluster
- Mountain View CA, US Aditya A. Auradkar - Fremont CA, US Adem Efe Gencer - Ithaca NY, US Joel J. Koshy - Sunnyvale CA, US Kartik Paramasivam - Sunnyvale CA, US
Assignee:
LinkedIn Corporation - Mountain View CA
International Classification:
H04L 29/08
Abstract:
A system, apparatus, and methods are provided for balancing partition distribution across nodes within a message broker cluster so as to balance the broker nodes' workloads. During operation, the system receives a stream of messages at the cluster, wherein the message stream is divided into topics, the topics are divided into partitions, and replicas for each partition are distributed among the nodes of the message brokering cluster. Upon detection of an imbalance in the nodes' workloads by a monitor (e.g., as indicated by uneven resource consumption), an analyzer considers various possible remedies (e.g., reassigning/demoting/promoting a replica), estimates their likely impacts on the workload, and determines whether they satisfy hard and/or soft goals of the system. The analyzer generates a plan that satisfies the hard goals and that may satisfy some or all soft goals, and passes it to an executor for implementation.