Rahil Sharma

Rahil Sharma

San Francisco Bay Area
770 followers 500+ connections

About

At the forefront of Compiler backend development at Cadence Design Systems, my leadership…

Experience

  • Cadence Design Systems Graphic

    Cadence Design Systems

    San Francisco Bay Area

  • -

    San Jose, California, United States

  • -

    San Francisco Bay Area

  • -

    San Francisco Bay Area

  • -

    San Francisco Bay Area

Education

  • University of Iowa Graphic

    University of Iowa

    -

    Activities and Societies: Algorithms Reading Group, University of Iowa

    Thesis Title : Shared & Distributed Memory Parallel Algorithms to Solve Big Data Problems in Biological, Social Networks & Spatial Domain Applications
    dblp link : http://dblp.uni-trier.de/pers/hd/s/Sharma:Rahil

    Research :
    Parallel algorithms for scientific computing for massive datasets, mathematical proofs for approximate, computational geometric and graph algorithms, heuristics for NP hard problems and other real world problems

    Teaching :
    Algorithms (22C:031), Object…

    Thesis Title : Shared & Distributed Memory Parallel Algorithms to Solve Big Data Problems in Biological, Social Networks & Spatial Domain Applications
    dblp link : http://dblp.uni-trier.de/pers/hd/s/Sharma:Rahil

    Research :
    Parallel algorithms for scientific computing for massive datasets, mathematical proofs for approximate, computational geometric and graph algorithms, heuristics for NP hard problems and other real world problems

    Teaching :
    Algorithms (22C:031), Object Oriented Software Development (22C:022), Distributed Systems and Algorithms (22C:166), Computer Organization (22C:060), Networks and its Applications (22C:118)

  • -

    Activities and Societies: Algorithms Reading Group, University of Iowa

    Algorithms; Computational Geometry; Approximation Algorithms; Graph Algorithms

  • -

Volunteer Experience

  • University of Iowa Graphic

    Served as panelist: “Considering & Applying to Graduate Schools as an International Student”

    University of Iowa

    - 1 year 1 month

    Education

  • Reviewer

    Journal of Big Data, SpringerOpen

    - 3 years 3 months

    Science and Technology

Publications

  • A Community Detection Algorithm for Massive Social Networks using Hybrid Architecture

    Big Data Research, Elsevier

    Detecting communities is of great importance in social networks where systems are often represented as graphs. With the advent of web-based social networks like Twitter, Facebook, LinkedIn, etc. community detection became even more difficult due to the massive network size, which can reach up to hundreds of millions of vertices and edges. In this paper, we present a novel hybrid (shared + distributed memory) parallel algorithm to efficiently detect high quality communities in massive social…

    Detecting communities is of great importance in social networks where systems are often represented as graphs. With the advent of web-based social networks like Twitter, Facebook, LinkedIn, etc. community detection became even more difficult due to the massive network size, which can reach up to hundreds of millions of vertices and edges. In this paper, we present a novel hybrid (shared + distributed memory) parallel algorithm to efficiently detect high quality communities in massive social networks. For our simulations, we use synthetic graphs ranging from 100K to 16M vertices to show the scalability and quality performance of our algorithm. We also use two massive real world networks: (a) section of Twitter-2010 network having ≈ 41M vertices and ≈ 1.4B edges (b) UK-2007 (.uk web domain) having ≈ 105M vertices and ≈ 3.3B edges. Simulation results on a MPI setup with 8 compute nodes having 16 cores each shows that, upto ≈ 6X speedup is achieved for synthetic graphs in detecting communities without compromising the quality of the results.

    Other authors
    See publication
  • High Quality Multi-core Multi-level Community Detection Algorithm

    Int. J. Computational Science and Engineering

    Journal paper :

    One of the most relevant and widely studied structural properties of networks
    is their community structure or clustering. Detecting communities is of great importance in
    various disciplines where systems are often represented as graphs. Different community detection
    algorithms have been introduced in the past few years, which look at the problem from different
    perspectives. Most of these algorithms, however, have expensive computational time that makes
    them…

    Journal paper :

    One of the most relevant and widely studied structural properties of networks
    is their community structure or clustering. Detecting communities is of great importance in
    various disciplines where systems are often represented as graphs. Different community detection
    algorithms have been introduced in the past few years, which look at the problem from different
    perspectives. Most of these algorithms, however, have expensive computational time that makes
    them impractical to use for large graphs found in the real world. In this paper, we propose a
    multi-core multi-level (MCML) community detection algorithm based on the topology of the graph.
    Applying MCML algorithm on two benchmark datasets for different strength requirements results
    in detection of accurate communities. We also apply MCML on Facebook Forum dataset to find
    users with similar interests and Amazon dataset.We show the scalability of MCML on large datasets
    with 16 Xeon Phi cores.

    Other authors
    See publication
  • Parallel Landscape Driven Data Reduction & Spatial Interpolation Algorithm for Big LiDAR Data

    ISPRS Journal of Geo-Information

    Journal paper :
    Airborne Light Detection and Ranging (LiDAR) topographic data provide highly accurate digital terrain information, which is used widely in applications like creating flood insurance rate maps, forest and tree studies, coastal change mapping, soil and landscape classification, 3D urban modeling, river bank management, agricultural crop studies, etc. In this paper, we focus mainly on the use of LiDAR data in terrain modeling/ Digital Elevation Model(DEM) generation…

    Journal paper :
    Airborne Light Detection and Ranging (LiDAR) topographic data provide highly accurate digital terrain information, which is used widely in applications like creating flood insurance rate maps, forest and tree studies, coastal change mapping, soil and landscape classification, 3D urban modeling, river bank management, agricultural crop studies, etc. In this paper, we focus mainly on the use of LiDAR data in terrain modeling/ Digital Elevation Model(DEM) generation. Technological advancements in building LiDAR sensors has enabled highly accurate and highly dense LiDAR point-clouds, which have made possible high resolution modeling of terrain surfaces. However, high density data results in massive data volumes, which pose computing issues when disseminating, processing, and storing data. We describe a novel technique based on the slope-map of the terrain, to reduce the data without sacrificing its accuracy. To the best of our knowledge this is the first ever landscape driven data reduction algorithm. We also perform an empirical study which shows that, there is no significant loss in accuracy for the DEM generated from a 52% reduced LiDAR dataset generated by our algorithm, compared to the DEM generated from an original complete LiDAR dataset. For accuracy of our statistical analysis, we perform Root Mean Square Error (RMSE) comparing all the grid points of original DEM to the DEM generated by reduced data, instead of comparing few random control points. Besides, our multi-core data reduction algorithm is highly scalable. We perform a scalability test using 1,2,4,8,16 CPU cores. We also describe a modified parallel Inverse Distance Weighted (IDW) spatial interpolation method, and show that the DEMs it generates is time-efficient, and has better accuracy than the one’s generated by traditional IDW method.

    Other authors
    See publication
  • Identification and Prediction of Functional Protein Modules using a Bi-level Community Detection Algorithm

    Int. J. Bioinformatics Research and Applications

    Journal paper :

    Identifying functional modules is believed to reveal most cellular pro-
    cesses. There have been many computational approaches to investigate
    the underlying biological structures. We shall use community detec-
    tion algorithm which we present in a bi-level algorithmic framework to
    accurately identify protein complexes in less computational time. We
    call this algorithm bi-level label propagation algorithm (BLLP). Using
    this algorithm, we extract 123…

    Journal paper :

    Identifying functional modules is believed to reveal most cellular pro-
    cesses. There have been many computational approaches to investigate
    the underlying biological structures. We shall use community detec-
    tion algorithm which we present in a bi-level algorithmic framework to
    accurately identify protein complexes in less computational time. We
    call this algorithm bi-level label propagation algorithm (BLLP). Using
    this algorithm, we extract 123 communities from a protein-protein inter-
    action (PPI) network involving 2361 proteins and 7182 interactions in
    Saccharomyces cerevisiae i.e.Yeast. Based on these communities found,
    we make accurate prediction of functional modules for 57 uncharacter-
    ized proteins in our dataset. We also perform a comparative study by
    applying various well known community detection algorithms on the
    PPI yeast network. We conclude that, BLLP algorithm extracts more
    accurate community structures from PPI yeast networks in less compu-
    tational time.

    Other authors
    See publication
  • Real-time On-board Analytics for Decision Making

    MTIC, John Deere

    Accepted poster presentation :

    Currently, not many on-board analytics available for real-time machine productivity and work-site solutions. We develop compression and parallel processing algorithms for solving work-site problems exploiting on-board multi-core architecture. Accurate topographic data, obstacle detection, etc. are some potential applications.

    See publication
  • Scalable Community Detection for Large Data

    27th Annual Meeting of Iowa Academy of Science

    Accepted abstract and oral presentation:

    The modern science of networks has brought significant advances to study of networks. One of
    the most relevant and widely studied structural properties of networks is their community structure or clustering. Detecting communities is of great importance in sociology, biology and computer science, disciplines where systems are often represented as network. We are designing algorithms that focuses on the methodology for detecting community…

    Accepted abstract and oral presentation:

    The modern science of networks has brought significant advances to study of networks. One of
    the most relevant and widely studied structural properties of networks is their community structure or clustering. Detecting communities is of great importance in sociology, biology and computer science, disciplines where systems are often represented as network. We are designing algorithms that focuses on the methodology for detecting community structures in weighted large scale networks such as the users’ relationship on social networks like Facebook, Twitter, etc. Most social networks are very large and tackling this volume of graph-structured data requires parallel tools. Using C++ libraries for graphs we incorporate parallel multicore directives to achieve scalable algorithms, which will be applicable for huge data-sets. It involves pre-processing the given graph to compute the topological features, then use label-propagation technique to find communities, followed by post processing to improve the quality of the result. We perform a comparative study using various bench mark data-sets. We observe that our algorithm gives better modularity clusters and running time, as compared to previous well known algorithms. We perform all our simulations on the University of Iowa’s Neon cluster using high-memory node with 24 cores.

    Other authors
  • Parallel Algorithms for Clustering in Big Data-sets

    SIAM Central States Section Conference

    Accepted abstract and oral presentation

    Other authors
    See publication
  • Hard Capacitated Set Cover and Geometric Set Cover

    Arxiv

    The first part of this work describes the following result that, logarithmic approximation factor for hard capacitated set cover can be achieved from Wolsey’s work, using a simpler and more intuitive analysis. We further show in our work, that O(log n) approximation factor can be achieved for the same problem by applying analysis of general set cover to analyze Wolsey’s algorithm. This work is based on the key observation that we make in Lemma 3.
    The second part of this work describes the…

    The first part of this work describes the following result that, logarithmic approximation factor for hard capacitated set cover can be achieved from Wolsey’s work, using a simpler and more intuitive analysis. We further show in our work, that O(log n) approximation factor can be achieved for the same problem by applying analysis of general set cover to analyze Wolsey’s algorithm. This work is based on the key observation that we make in Lemma 3.
    The second part of this work describes the geometric hitting set problem, where X is a ground set of points in a plane and S is a set of axis parallel rectangles. It is shown that  epsilon-nets of size O((1/epsilon) log log (1/epsilon)) can be computed in polynomial time. Applying Bronnimann and Goodrich result gives the hitting set of size O(log log OPT) for this problem.

    See publication

Courses

  • Advance Graph Algorithms

    22C:295

  • Analysis of Algorithm and Design

    22C:231

  • Basic Analysis and Introduction to Proofs

    22M:105

  • Big Data

    22C:196

  • Computational Epidemiology : Topic in Computer Science 2

    22C:196:001

  • Computational Geometry

    22C:196:003

  • Computer Graphics

    22C:151

  • Distributed Systems and Algorithms

    22C:166

  • Fundamentals of Software Engineering

    22C:180

  • Graph Algorithms and Combinatorial Optimization

    055:133

  • High Performance Parallel Computing

    22C:166

  • Limits of Computation

    22C:131

  • Linear Programming

    06K:286

  • Peer to Peer and Social Networking Algorithm

    22C:196:004

  • Randomized Algorithms

    22C:196:005

  • Research Seminar-1

    22C:299

Projects

  • Real-time Spatial-data Processing (John Deere)

    Real-time processing of large data produced by Velodyne LiDAR sensor in a parallel, using multi-core architectures. It involves real-time data reduction, spatial interpolation, and Delaunay triangulation of the reduced data.

    See project
  • Parallel Implementation of Label Propagation Algorithm for Community Detection

    Detection of community structure is computationally very difficult and challenging problem to solve. We implement modified label propagation algorithm while exploiting the multi-core architecture. We used Multi-threading with Java and conducted test for speed-ups using various datasets mentioned in the slides. (Code Sample: https://github.com/rrsharma/Code-Sample)

    Other creators
    • Pooya Rahimian
    See project
  • Distributed Jacobi and Red-Black Gauss Seidel Poisson Solvers

    Jacobi and Red-Black Gauss Seidel Poisson Solvers using Message Passing Interface (MPI)

    See project
  • Distributed Simpson's Integration Rule

    Implemented Simpson's Integration Rule using Message Passing Interface (MPI).
    (https://github.com/rrsharma/MPI-C-Jacobi-and-Red-Black-Gauss-Seidel-Poisson-Solvers)

    See project
  • Linear Programming: Modified Simplex Method

    We designed and implemented a modification to the simplex method for solving linear programs (LP). The variation that our code handles is the case when the LP is in standard form, and each of the variables have a finite upper bound (other than being non-negative as well). The naive way to solve it would be to incorporate each upper bound into an inequality constraint, and then solve it using the original Simplex method. However, that would increase the size of the basis matrix from 'm'​ to 'm +…

    We designed and implemented a modification to the simplex method for solving linear programs (LP). The variation that our code handles is the case when the LP is in standard form, and each of the variables have a finite upper bound (other than being non-negative as well). The naive way to solve it would be to incorporate each upper bound into an inequality constraint, and then solve it using the original Simplex method. However, that would increase the size of the basis matrix from 'm'​ to 'm + n'​, which would adversely impact the time required to invert the basis matrix during each iteration. For this reason, the "advanced" strategy that we implement involves partitioning the non-basic matrix N into Nl and Nu (corresponding to whether the non-basic variable is either 0 or at its upper bound), and modify the method used to choose the entering and the leaving variable to incorporate this modification. The resultant algorithm is twice as fast as the naive strategy.

    See project
  • Fast algorithm to find maximum weight consistent digitally convex region

    We parallelized existing algorithms to find convex regions from X-rays and CT-scans.
    Used sophisticated data structures like tree-sort, hash-maps, etc.
    Optimized the original algorithm to improve the running time by more than 20%

    See project
  • Fast Community Detection

    Used kd-tree data structure to improve the asymptotic running time of Community Detection Algorithm using Greedy Randomized Adaptive Search Procedure (GRASP)

    See project

Honors & Awards

  • Graduate College Post-Comprehensive Research Fellowship

    The University of Iowa Graduate College

    The award recognizes students with distinguished academic achievement during their graduate training. These achievements include outstanding academic performance in coursework, as well as scholarly research activities. This award program provides an opportunity for advanced doctoral students to benefit from protected and supported time to pursue their scholarly research activities towards dissertation. (https://www.cs.uiowa.edu/resources/news/phd-candidates-award-recipients)

  • Innovation Medal

    John Deere - Moline Technology Innovation Center

    I received an `Innovation Medal' at John Deere during the `Knowledge Based Solution Innovation Day'. (Not very many people get this, so I am proud of it. It motivates me to do more innovative work in the future.)

    Check out the medal, its really cool :
    http://homepage.cs.uiowa.edu/~rrsharma/Publications.html

  • University of Iowa, Computer Science 2015-16 Scholarship

    University of Iowa, Computer Science Department

    *Scholarship is comprised of an award letter and prize of $2,000:*

    Awarded on the basis of excellence in academic and professional achievement during graduate standing (MCS & Ph.D.)

  • John Deere : Big Data Academic Grant

    John Deere

    Dr. Suely Oliveira (PI) and I (Co-PI/Technical Coordinator), received a grant of $40,704 from John Deere for the academic year 2015-2016, for "Developing Algorithms to Process Big Spatial Data".
    This grant will pay for my tuition and salary as a Research Assistant at the University of Iowa for Fall-2015 and Spring-2016.

Languages

  • English

    Native or bilingual proficiency

  • Hindi

    Native or bilingual proficiency

Recommendations received

View Rahil’s full profile

  • See who you know in common
  • Get introduced
  • Contact Rahil directly
Join to view full profile

Other similar profiles

Explore collaborative articles

We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.

Explore More

Others named Rahil Sharma in United States

Add new skills with these courses