Database Engineering Hackathon

live
2038 Registered Allowed team size: 1 - 4
2038 Registered Allowed team size: 1 - 4

The idea submission phase is over and participation is closed.

idea phase
Online
starts on:
Oct 22, 2024, 12:30 PM UTC (UTC)
ends on:
Nov 24, 2024, 06:29 PM UTC (UTC)
Prototype phase
Online
starts on:
Dec 06, 2024, 12:30 PM UTC (UTC)
ends on:
Jan 06, 2025, 06:29 PM UTC (UTC)

Overview

IITM Pravartak Technologies Foundation (PTF) is excited to announce our “Database Engineering” Hackathon designed to attract experienced tech enthusiasts and professionals with a passion for databases and systems development.

This is your chance to showcase your expertise in a highly competitive, challenging, and rewarding environment. The hackathon focuses on solving real-world problems in database development, offering participants the opportunity to collaborate, innovate, and potentially secure an in-person role in our team.

Process:

  • Registration : Individual participants or teams can register for the event through the online platform.
  • Pre-Hackathon Briefing : A virtual session will be conducted to provide an overview of the problem statements, tools, and evaluation criteria.
  • Hackathon Day : Participants will work on real-time database challenges, implementing efficient solutions using the prescribed skill sets. The event will be a mix of coding, problem-solving, and collaboration.
  • Evaluation : A panel of experts will evaluate the solutions based on efficiency, performance, scalability, innovation, and technical excellence.
  • Final Pitch : Shortlisted participants will present their solutions to the panel in person.

Objective:

The hackathon aims to identify skilled individuals who can contribute to the development of our cutting-edge database system. By working on practical database challenges, participants will demonstrate their ability to build, optimize, and scale database systems, preparing them for a possible role as part of our team involved in building strategic products for our country.

Eligibility Criteria:

  • Experience: 4+ years of professional experience in software development.
  • Preferred Skill Set: C, Linux, C++, Python, Scripting, OS Internals, Postgres or any other database, SQL Programming (one or more of these areas preferred).
  • Team Size: 1-4 members per team.
  • Work Arrangement: Selected candidates/teams will be offered an in-person role at our office once found suitable and selected.**

Benefits for Participants:

  • Networking : Interact with industry experts and peers.
  • Learning : Gain insights into database systems development through real-world challenges.
  • Showcase Talent : An opportunity to demonstrate your technical expertise.
  • Prizes : Exciting prizes for winners, and cash rewards.

Benefits for Winners:

  • Job Offers: Winners and top-performing participants will be offered suitable roles in our DB development project at IITM PTF.
  • Recognition: Recognition on our website and social media platforms.
  • Mentorship: Get the chance to work with industry veterans, gaining invaluable experience in database systems.

Themes

NOTE:

  1. One of the mandatory criteria for selection will be providing extensive documentation on the adopted design, and algorithms that has been used.
  2. PTF will not be responsible for any IP related (patent, trademark, copyright, design etc.') issues or violations of the solutions delivered by participants.
  3. PTF have reserves the full right to use the implementations of the selected participants in any manner that it is deemed absolutely PTF.
Live Migration

In a concurrent system, there is a file F which consists of records X1,X2, ....Xn. The structure of the record is X.

Let’s suppose there is an application program A which understands this file and interprets and can concurrently Read/Write/Modify these records. That is, multiple instances of A concurrently access F and may read/add/update data in the process. Due to certain business case this record structure X needs to be modified to X' and hence all the records in the file also need to be moved to newer structure. All this to be done with minimal effect on concurrent users running multiple instances of A simultaneously. In addition, user should be able to abort/restart this X--> X' migration operation any number of times.

You can make your own assumption on the structures X and X' and how instances of A access F concurrently. Design and implement a system, that can achieve movement of business requirement with minimal downtime. Users using A should be able to move to using application A' which understands newer structure X'.

Reliable UDP

Produce userspace reliable UDP transmission for IPv4 networks, to gain better performance with the following features:

a) TCP-like connect/disconnect features, albeit without the need for a 3-way handshake.
b) Error detection/correction.
c) Minimize retransmissions due to missing datagrams.
d) For the sake of performance, in-order delivery is not required, although flow control should be implemented.
e) NAT traversal is preferred but not required.

Measure performance against normal TCP for the same peers using tools you are comfortable with.

Wire Protocol Translation

ISO/IEC 9075 defines a standard on SQL. However, to offer more flexibility/efficiency, several DBMSes provide their proprietary extensions and features used by client users. This causes application portability issues to other DBMS. Here, the problem is to produce a client library for relational DBMSes which converts an original DBMS (e.g., MySQL or Oracle or MS SQL) query to Postgres native wire protocol.

Application > Original DB Client > Original DBMS

TO

Application > Our DB Client > PostgreSQL

We do not expect the problem to be completely solved, but novelty and complexity of the solution is the key. The said library should provide C/C++ APIs pluggable to the source DB. Document the features provided by the library and provide source code for testing the same.

Lock Free I/O

Consider the case when multiple user space threads write to more than one device concurrently. It is required for these threads to synchronize the reads/writes using OS level locking primitives. Although useful to perform operations in correct order, it may be bit penalizing on performance. Here problem is that in the operation arena of I/O scheduler it does not have any of this information. Also, application is completely oblivious to scheduler mechanisms. However, application may know the relation or possible order of operations, if there is any, between consecutive writes/reads. Due to this application may employ special purpose interfaces that can chain operations which obey a “happens-before” relationship, while rest may be processed out of order. Benefit of this is that some of the I/O operations could be processed without locks or other synchronization mechanisms.

The problem is to devise a mechanism that can be used by I/O scheduler in linux kernel which can leverage this chaining relation between successive I/O operations, and hence may speed up I/O. You may choose to modify any existing Linux I/O scheduler of your choice.

Covert Channel in Applications

Covert Channel in Applications - Generally computer programs have high degree of cohesion, which helps hacker in understanding the logic and hence may use it to alter the flow of victim program to rather restricted areas (e.g. features which can be used after paying up). In this way the information flow from module A--> module B--> module C--> .... can be traced. 

It is required for all the modules are part of same executable.

Produce a covert channel in an application of your choice (you may create your own), such that -- information reaches to the destination module C through at least two different paths A-->B-->C and through covert channel --> C. In this way, hacker must do much more work in flawless application operation of victim application.

Prizes

Incubation and seed support up to 50L for the eligible start-ups /teams from the winning ideas **

  • Opportunity to work in IITM Pravartak as well as pursue higher education in IITM#
  • Participation Certificates to all the participants
  • Merit Certificates to all the Toppers
  • A visit to IIT Madras Pravartak Technologies and IITM Research Park for active participants

* Inclusive of all taxes

** At the sole discretion of the IITM Pravartak committee and contingent upon approval of the selection process

# - Subject to prevailing mandatory conditions being met

 

Main Prizes
1st Prize
INR 3,00,000
2nd Prize
INR 2,00,000
3rd Prize
INR 1,00,000

Social Share

Help & Support

Please contact event admin
HackerEarth Support at support@hackerearth.com
Notifications
View All Notifications

?