Task 1 Due: 20.06.2017 - WGierke/tuk1_numa_a GitHub Wiki
In order to evaluate the various data locations (NUMA nodes) and their potential impact on database queries, we would like you to benchmark the following two common access patterns in DBMS. Sequential access (used e.g., in filtering/scanning) and Random access (used for tuple projections/reconstruction)
Assume a table that has numerous (e.g., 100) Integer-columns, (such large tables are quite common in Enterprise applications) with enough entries to get measurable results (keep in mind effects of caching). Measure the difference when accessing memory that is local compared to accessing memory that is “remote” (on a different NUMA node). Evaluate if there is a difference when the number of read columns changes for sequential access and if the number of read rows changes for random access.
As a minimum consider a table with 100 Integer-columns and 1 million entries Measure a sequential access for 1;2;4;8 columns For random access consider the projection of 10; 100; 1,000 entries ( use randomly chosen rows)
Bonus: How do your measurements scale with an increased number of entries ? (for Sequential access)
Deliverable: We expect an executable that we can execute, compiles & runs the benchmarks and plots the according results into box-plot graphs (pdf).