-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJobClient.ned
More file actions
33 lines (29 loc) · 1.48 KB
/
JobClient.ned
File metadata and controls
33 lines (29 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package gpu_share.gpu.modules;
//
// Job Client module
// Generates job requests with Poisson arrivals
// Tracks job completion time (JCT) from submission to completion
//
simple JobClient
{
parameters:
int vlanId = default(10); // VLAN identifier
int clientId = default(1); // Unique client identifier
double jobIaMean @unit(s) = default(5s); // Mean inter-arrival time (Poisson)
double jobDurationMean @unit(s) = default(3s); // Mean job duration
int gpuRequirement = default(1); // GPUs needed per job
int maxJobs = default(10); // Maximum jobs to generate (0=unlimited)
double startTime @unit(s) = default(uniform(0s, 1s)); // Random start time
bool debug = default(false); // Debug logging
// Statistics
@signal[jobSubmitted](type=long);
@signal[jobCompleted](type=long);
@signal[jobCompletionTime](type=double);
@statistic[submittedCount](title="Jobs submitted"; source=jobSubmitted; record=count,vector);
@statistic[completedCount](title="Jobs completed"; source=jobCompleted; record=count,vector);
@statistic[jct](title="Job Completion Time"; source=jobCompletionTime; record=vector,mean,max,histogram);
// Display
@display("i=device/pc");
gates:
inout port; // Connection to VLAN bus
}