Here contains the evaluation scripts for generating our major figures in Trinity's paper.
To run the scripts, you'll
need first to install the Python 3 environment. Also, we have some additional dependencies. To install them,
type pip3 install -r requirements.txt at the root directory of the repo.
To run a script named xxx.py, simpy type python3 xxx.py in your terminal. The scripts' functions are detailed as
follows.
-
DrawAPIData.pyThis script draws
Figure 3~Figure 5. Drawn figures are placed inAPIData/fig -
DrawBenchmark.pyThis script draws
Figure 8andFigure 9. Drawn figures are placed inBenchmark/fig. -
Draw100Games.pyThis script draws
Figure 10(a)andFigure 10(b). Drawn figures are placed in100Games/fig. -
DrawPerfBreakdown.pyThis script draws
Figure 11andFigure 12. Drawn figures are placed inPerfBreakdown/fig. -
DrawTransferBench.pyThis script draws
Figure 13~Figure 16. Drawn figures are placed inDataTransferBench/fig.
API call measurement data are recorded in the csv tables in APIData, involving the number of APIs called per frame, the specific API types and the graphics data generation rate.
The raw benchmark data live in Benchmark/Benchmark.xlsx. It contains four data sheets, titled {3DMark, GFXBench}_{External, Internal}. Here {3DMark, GFXBench} refers to the two benchmark apps we test, and {External, Internal} refers to the tests on high-end and middle-end PCs, respectively.
Specific data format is documented is the first row and colum of each data sheet.
Top-100 3D app test results and breakdown experiments conducted on the apps are included in 100Games and PerfBreakdown, respectively. The data are organized as csv tables. Specific data format is documented is the first row and colum of each data sheet.
This part of data are those of Figure 11~Figure 14 (see Section 4.4 of our paper for detailed explanations), and are located in DataTransferBench. Specific descriptions of different folders are listed here.
| Folder | Description |
|---|---|
teleporting |
Benchmark data of data teleporting |
goldfish-pipe |
Benchmark data of goldfish-pipe |
async_polling |
Benchmark data of teleporting with a fixed async + host polling strategy |
async_polling_aggregation |
Benchmark data of teleporting with a fixed async + host polling + data aggregation strategy |
sync_polling |
Benchmark data of teleporting with a fixed sync + host polling strategy |
sync_polling_aggregation |
Benchmark data of teleporting with a fixed sync + host polling + data aggregation strategy |
sync_vm-exit |
Benchmark data of teleporting with a fixed sync + VM_EXIT strategy |
sync_vm-exit_aggregation |
Benchmark data of teleporting with a fixed sync + VM_EXIT + data aggregation strategy |
Within each of the folder, there are a number of subfolders, whose name follows the convention of {data_chunk_size in byte}_{number of threads}_0. Each of the subfolder contains a throughput.txt file that hosts the raw throughput data we have measured in evaluation.
Below is the list of the top-100 3D apps from Google Play.
