链表的应用:计算每个作业的运行时间
2012-11-16 20:06
232 查看
在一个网络计算系统中,有很多台计算机。每台计算机分别作为一个资源,用一个由‘0’~‘9’的数字组成的字符串表示。当要计算一个任务时,网络计算系统自动从空闲的计算机中找一台,并在这台计算机上完成计算任务。每个计算任务用一个以小写字母打头、并包含有下划线字符‘_’的唯一的字符串表示。
网络计算系统用一个运行日志文件记录了所发生的每个“事件”。日志文件是文本文件,每个事件占用其中的一行。共有三类“事件”:
l 计算机启动。日志中记录了事件发生的时间、网络系统为该计算机分配的资源号。例如下列日志记录表示:一台标号为“1249630811312610”的计算机在2006年11月21日11点55分56秒时启动了。
2006-11-21 11:55:56 resource created: 1249630811312610
l 计算任务开始。日志中记录了事件发生的时间、计算任务的标号、是在哪台计算机上执行的。例如下列日志记录表示:一个标号为“mm_1080_p”的计算任务被分配到“1283135310662341”标识的计算机上执行,开始执行的时间是2006年11月21日11点57分57秒。
2006-11-21 11:57:17 mm_1080_p started on resource 1283135310662341
l 计算任务结束。日志中记录了事件发生的时间、计算任务的标号、是在哪台计算机上执行的。例如下列日志记录表示:一个标号为“mm_1069_p”的计算任务在2006年11月21日12点1分58秒时运行结束,它是在“1283135310662341” 标识的计算机上完成的。
2006-11-21 12:1:58 mm_1069_p finished on resource 1318717414378778
预先不知道这些计算机的启动时间,而且各计算机的启动时间也不相同。一些计算机已经开始计算了、甚至已经完成了一些计算任务,另一些计算机才启动。每台计算机只有在启动之后,才开始执行计算任务。在日志文件中,每个事件占一行,并按照事件发生的时间顺序排列。
请编写一个日志分析程序,统计在每台计算机上完成的计算任务,并计算各计算任务开始运行的时间、消耗的时间。将结果存储在另一个文本文件中,具体格式是:
l 每个资源占文本的一段,第一行是资源的标号,然后是在该资源上完成的各个计算任务的统计信息。启动时间早的计算机,所在的段排在文本的前面
l 每个计算任务的统计信息占一行,记录计算任务执行的时间、消耗的时间、计算任务的标号。
l 同一段中的计算任务,按照它们开始执行时间的顺序排列。
l 段与段之间用一个空行隔开。
相关文章推荐
- 链表的应用:计算每个作业的运行时间
- 88、展示Tensorflow计算图上每个节点的基本信息以及运行时消耗的时间和空间
- 判断链表是否带环?若带环求环的长度?若带环求环的入口点?并计算以上每个问题的时间复杂度?
- 装饰器应用,Python模块学习之(__call__)实现准确计算函数运行时间
- 展示Tensorflow计算图上每个节点的基本信息以及运行时消耗的时间和空间
- 88、展示Tensorflow计算图上每个节点的基本信息以及运行时消耗的时间和空间
- PHP日期与时间的应用 计算脚本运行时间
- 队列应用银行排队问题模拟:计算客户的平均停留时间和等待时间以及每个客户的时间信息,两种方法实现
- 结课作业:云计算的的特点和在生活中的应用发展
- 时间打点——计算程序运行时间的技巧
- matlab 计算程序运行时间 的几个函数
- 在PBS/Torque系统用qalter命令延长计算运行时间
- 计算程序运行时间与内存(Windows)
- 计算C语言程序运行时间
- python 计算函数运行时间
- C++利用QueryPerformanceCounter计算代码运行时间
- C# 计算程序运行时间
- 3.3 C++中如何计算程序运行的时间
- C++计算运行时间和随机数的插入排序
- CCS7.2软/硬件断点设置,精确计算代码运行时间及定时器定时时间验证(适用于C28x芯片)