Member Name | Member Roll No. |
---|---|
Anubhav Jana | 22M2109 |
Sunanda Somwase | 22M2107 |
Manish Kumar | 22M2110 |
With the increasing demand for database applications that are compute and memory intensive, it has become essential to understand and optimize the performance of database management systems (DBMSs) on modern computer platforms. While faster processors have improved the performance of many workloads, the same level of improvement has not been observed in commercial DBMSs. For different kind of database workloads, the performance varies. This project aims to investigate the factors affecting DBMS performance, particularly focusing on processor and memory interactions, and develop optimization techniques to address performance bottlenecks.
- Login to Physical Machine
ID password obtain from the administrator - Start Ubuntu VM from Desktop
Use VirtualBox in local machine
ID password obtain from the administrator - Build Load Generator inside Ubuntu VM
Building hammerdb docker image and starting up the application --- docker build -t hdbimg . (building image)
- Start QSim VM
Instructions present on the desktop of Ubuntu VM
ID password present in the set up instructions doc present on the desktop of Ubuntu VM - Build Postgresql inside QSim VM
- Download postgres from source in qsim VM and run make to compile and build it.
- Set the path variables required
- Change port number in hpg_hba.conf file as only one port is exposed in the VM
- Run the configure command
- Init the database for the first time
- Run the database using pg_ctl command
Port number exposed for communication from Ubtuntu VM (6359) to QSim VM (6379)
- Start the enabledisable program present on desktop inside QSim VM, this starts the process of trace generation
- Start the load generator from Ubuntu VM
- xhost +local:* (To authorize display by host from the container)
- docker run --network host -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix/ -it hdbimg
(starting the container)
Network of container set same as host and display set as host display for UI - cd HammerDB-4.9 and start hammerdb by ./hammerdb
- Set up the port number exposed to qsim VM from ubuntu VM in hammerdb (to connect to hammerdb and Postgres Server)
- Start generating load
- Power Off the QSim VM to find the intermediate trace tarce.log at path mentioned in the QSim VM setup file
- Convert this trace to champsim.gz extension to be run by champsim using the Python scripts owned by the administrator
Vtune Profiling:
- Set up the VTune profiling tool
- Start the postgreSQL server
- Start generating the load on the server
- Check out the PID of server process connected to the load generator
- Attach that PID to the VTune profiler
- Collect data for 1 minute for the interval of 1ms
- Analyse the generated results
- Follow the process for Micro-architectural analysis and HotSpot analysis.
Traces:
Link to Postgres TPC-C Benchmark Trace : https://drive.google.com/file/d/1q1dqhSFwm9vcva0DFpZ5UsZ0wj1Collp/view?usp=sharing
Link to Postgres TPC-H Benchmark Trace: https://drive.google.com/file/d/1vt1m4OXEjiE6h5e1vZC35I5zdWHiyo2m/view?usp=sharing