前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇钓鱼日记范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
春天,河边一片春天的景象,小鸭在水里洗澡,河边柳树吐出了嫩芽,小鱼欢快的在水里游动。还有几位小朋友那这鱼竿在小河里钓鱼。好一幅生机勃勃的景象。想了解更多相关内容,接下来请欣赏:钓鱼初中日记。
钓鱼初中日记1今天,一个阳光明媚的星期天,我的心情也十分的愉快,爸爸说:“我们去钓鱼吧”!钓鱼?怎么钓啊。带着疑惑的我向爸爸问道。爸爸笑着说:“不用怕,我会教你的”。我听了感觉非常好奇,所以心里十分的焦急。非常想亲身体验一下这个有趣的事情。
终于等到了这一时刻,我和爸爸“全副武装”,向公园鱼塘进发。看见爸爸抛出线,装上鱼饵,撒入水中。只见爸爸依然坐在那里一动不动。我学着爸爸的样子,把鱼钩抛入水中。可是过了几十分钟,居然还没有动静,我有点焦急。那天天气很热,爸爸头上的汗珠正源源不断的滚落下来。
我平静了下来,爸爸的鱼上钩了,看见他慢慢收线 ,熟练的操纵着鱼杆,是一条大鱼。爸爸欣喜若狂。焦急的等待换来了收获。我的鱼钩依然是老样子。这次,我彻底的失败了,心里十分的沮丧,但是仔细一想,这点困难就能吓倒我吗?一定不能,我是一个坚强的男子汉。
于是,我再一次抛线,希望这一次不会失败。父亲依然如旧。钓鱼就应该有耐心,有毅力,让自己的心静下来,经过漫长的等待,终于动了,我立刻拉动鱼杆,准备收线,模仿着爸爸刚才的动作,可是一条鱼也没有,只是一根草而已,爸爸看了哈哈大笑,我心如刀割,几乎都要崩溃了,爸爸鼓励我:不要怕困难,你总会成功的,相信自己。
通过爸爸刚才的鼓励,我又精神抖擞,重新站了起来,再一次重复着刚才的动作,我抱着尝试的心态去钓,希望这次能成功,而此时此刻,心里变得异常冷静。皇天不负有心人,终于上钩了,我慢慢收线,小心翼翼的生怕惊跑了鱼儿,这次真的是一条大鱼,非常的让我开心,我终于学会了钓鱼,爸爸称赞我有耐心,我也非常的开心,同时也是我最难忘的第一次钓鱼。
但同时也让我明白了失败是成功之母,不论是做任何事都要有自信,时时刻刻保持这样的心态。
现在想起时,都会有一阵微微的激动,深深的印在了我的脑海里,终身难忘这一深刻的哲理,令我受益无穷。
钓鱼初中日记2上个周末(8月2日星期天),我和爸爸还有几位叔叔去(渠村)钓鱼。
我们开车走了好几个地方,我都晕车了。我们来到了两个小池塘,便抛下鱼钩准备开始了。
我们把鱼钩抛进水里,等鱼咬钩。10分钟过去了,20分钟过去了,还是没有鱼咬钩。突然,一位叔叔大喊道:“有鱼咬钩啦!有鱼咬钩啦!”我们便都围了过去,只见一条又肥又大的黄鲤鱼正在吞吃着吃了一半的鱼饵,对我们还是若无其事,那条鱼占了半个水桶。
接着,一位叔叔跑到了另一个地方钓。那位叔叔真是钓鱼高手,每提一次钩都会钓到条小鱼。我和爸爸也学着叔叔的样子,把鱼钩抛到了池塘,可是好几次都被草缠住了。总算把钩抛下去了。可是一上午过去了,就连一个鱼头也没来要咱们的钩。
这次钓鱼,我们虽然没有钓到一条,但学会了很多钓鱼的经验。要心平气和,细心等待,总会有鱼来咬你的钩。
钓鱼初中日记3今天,我和弟弟、妈妈去钓鱼了。我们一到那儿,我和弟弟就迫不及待地把鱼竿拿了出来。
因为我们是第一次钓鱼,什么经验也没有。所以,我拿起鱼食就弄在了钩子上,一下子把鱼钩甩了下去,左走走,又挪挪,心里不住地祈祷:鱼啊鱼,赶紧上钩吧!我亲爱的鱼!弟弟看着我,也学着我的样子钓起鱼来。结果,你猜怎么着,唉!连一条鱼都没钓上来,让那些鱼白白占了便宜。
我们俩就像一个吃一次饭就能长大的人一样,心里很急,希望能钓一条大鱼让妈妈看看,我们很了不起的!
妈妈看见我们垂头丧气的样子,就开始安慰我们了:不停地动,能钓上鱼来么?你们得静静地钓鱼。没听说过心急吃不了热豆腐吗?只要你们有足够的耐心,才能钓上来大鱼。我们俩又安安静静地坐下来,谁也不说话,暗暗的憋着一股劲儿,非得钓上来一条大鱼不成。哈哈,皇天不负有心人,真的钓上来一条大鱼,我和弟弟乐得手舞足蹈,连妈妈也被我们的情绪给感染了,跟着一起乐呵。
经过这次钓鱼,我明白了一个道理:无论做什么事,都要去有耐心地去对待。
钓鱼初中日记4昨天下午,爸爸带着我去钓鱼。
我们到了钓鱼的地方,爸爸让去搬来凳子,他则帮我穿好了鱼线并穿好了蚯蚓,爸爸把鱼竿向上一抛,下好钩了,再把鱼竿递给我。
我拿着鱼竿聚精会神的盯着鱼漂。突然,鱼漂向下一沉,我激动极了,用力向上拉鱼竿,可是鱼没有上钩。一连好几次我都没有钓到鱼,又伤心又沮丧,快要哭了。爸爸看见了说:“豆豆,不要哭!钓鱼要有耐心才行。钓鱼的时候要看见鱼漂连续的上下浮动,才可以拉鱼竿。”我听了爸爸的话,静静的坐在凳子上,当鱼漂连续浮动的时候我用力地向上拉,哇,终于钓上来一条鱼,我激动地又蹦又跳!我用爸爸教给我的方法,一下子钓上来十一条鱼。
天快黑了,我和爸爸带着我们的胜利果实回家了!
钓鱼初中日记5今天我和爸爸去钓鱼,到了地方,我就看见人山人海的,我们找到了一个地方,立刻把网兜弄下水去,爸爸又把鱼线系在鱼竿上,然后,我又将饵料包在钩外面。
做好了一切准备,我们便开始钓鱼了。我等啊等,不一会儿,我便看见鱼浮有点摇摇晃晃的样子,爸爸这时告诉我:“这是小鱼们在吃钩上的饵料,你千万不能惊动他们,等鱼浮下去一大半的时候,你猛地一拉,就能把他们钓上来了。”我便按照爸爸说的话做,果然钓上来了一条又肥又大的鱼,爸爸那边也不甘示弱,正在我拉鱼上来的时候,鱼也咬了爸爸的钩,爸爸猛地一拉,一条贪吃的渔也被爸爸钓上来了。
然后,我们又钓了好几条鱼,带着我们的战利品回家了。
钓鱼初中日记6那天下午,舅舅突然心血来潮的找我一起去钓鱼。早就听说钓鱼不仅有趣,而且还能锻炼人的耐性,我当然就答应了。
来到鱼塘,一看见水我便来了兴趣,火急火燎的拿着鱼竿坐到池塘边。将鱼钩甩入水中许久,仍然不见有半点变化,拉出来才发现忘了放鱼饵。
再次将鱼钩甩入水中后的几分钟里,我依然没有看到任何变化,看看舅舅也是还没有调到一条小鱼,我不耐烦了:“舅舅,这要钓到什么时候了!”舅舅却只是笑着说了一句:“不急。”是啊,前后好像也只不过十几分钟,这我就坚持不住了。
我只好又强迫自己做了下来,心想:钓鱼也不过如此,真无聊!大概又过了十几分钟,我终于忍不住起身去玩。
不知玩了多长时间,看看舅舅,他已经钓到好几条鱼了,“舅舅,你真了不起,都钓到这么多了!”“没什么了不起的,”舅舅慢条斯理的说“做什么事只要用心去做,就没有做不成的,就像这钓鱼之所以有能锻炼耐性,就是因为需要你耐心的等待!”听了舅舅的话,我惭愧的地下了头。
我又重新坐到了池塘边,果不其然,黄昏时分,我的小桶里装满了鱼。
钓鱼初中日记7今天阳光明媚,是个有玩得好时光。我和姐姐一起去太阳岛游玩。
看到钓鱼池旁热闹非凡。我赶忙跑去看只见池里美丽的小鱼在欢快地游着。有红的,有银的,有黑的。真是漂亮。我便和姐姐去钓鱼。我手握鱼竿开始钓鱼。一只银色的小鱼被我看中。我把鱼饵放到小鱼的旁边。小鱼游过来就要吃鱼饵。因为我第一次钓鱼,所以没等小鱼上钩,我就提起来鱼竿了,鱼没钩着。再去钓时,小鱼就不吃我的饵了。只好在钓别的鱼。有了第一次的经验,不一会儿,我就钓上来2条鱼。交钱后,我和姐姐提着鱼高高兴兴的回家了。
白酒受制“三公消费”,销售额“一落千丈”;红酒僧多粥少,卖酒的比买酒的还多;甚至连常年把持着“中国酒局”的领跑者之一的啤酒,在2014年也首次出现负增长,这是24年来第一次出现这种状况。但与此同时,预调鸡尾酒市场却逆市增长,且增幅迅猛。据中国酿酒工业协会最新统计,预计2020年预调鸡尾酒销售金额有望超百亿元。
一夜之间,这类酒的销售如火如荼,火遍大江南北,火得莫名其妙。不少业内业外人士都不约而同地针对“预调鸡尾酒”列出三大问题:到底什么是RIO预调鸡尾酒?它靠什么火起来的?到底还能火多久?
到底什么是预调鸡尾酒?
其实,这种洋酒+果汁混合调制的低酒精饮品有着悠久的历史,在国外被统称为alcopop。世界上第一瓶调制酒是小花狗柠檬酒,诞生于1993年,由一位澳大利亚人迈克・盖瑞调制而成。盖瑞由此大获成功,这类酒也开始在各国年轻人中盛行。
但在中国,这类酒近年才兴起,尚属于新兴酒类。且和国外市场不同的是,目前领军行业的锐澳(RIO)品牌,打破了国外经营alcopop品牌仅采用单一基酒的限制,率先开创用不同的基酒和不同的果汁混合配制,重新定义了中国的alcopop市场。
中国的alcopop尚没有明确的统一名称,有按照饮用口味称作果味洋酒的,或按照制作方法称作混搭果酒,多数是根据行业代表品牌锐澳(RIO)的方法称为“预调鸡尾酒”。更多的消费者无法对这个专业感极强的“预调鸡尾酒”称呼产生认知,因此亦有人直接把这种以朗姆、白兰地、伏特加等烈酒作为基酒,辅以各口味果汁加以调配而成的混搭酒统称为“RIO酒”。借由行业领军企业锐澳(RIO)的品牌名来统称RIO酒,一方面解决了大家对这类酒的认知困扰,另一方面又给这个“舶来品”的酒精类饮料赋予了一种时尚感。
它靠什么火起来的?
RIO预调鸡尾酒由无名走向小众,从小众迈向大众,原因有三:首先,主力消费人群的更替。80后、85后甚至20世纪90年代初出生的消费人群已开始逐渐登上“主力消费”的舞台,他们对新鲜事物的接受、追捧程度早已不是老一辈人所能企及的,因此RIO酒这类专属年轻人的潮品能够迅速占领“高地”并非偶然现象。
其次,年轻人口的日益迁移。在北京、上海、广州、深圳四大城市里,因求学、工作、婚姻而定居的80后、90后年轻人数量占比已超过了土生土长的年轻人。来自五湖四海的人口“混搭”,让年轻人对于RIO预调酒这类酒传承国外的交友文化深感认同:无论你来自哪个城市、出身背景如何、经济收入如何,只要聚在一起喝RIO预调酒,大家就成为朋友,颇有“朋友不问出处”的流行文化色彩。
最后,RIO预调酒对流行文化的借力。近年来,RIO酒中的锐澳(RIO)、冰锐等多家品牌均齐心进军各大综艺节目、热播电视剧,像《奔跑吧,兄弟》《爱情公寓》《天天向上》《何以笙箫默》等。年轻人群不断受到产品硬性广告的“地毯式轰炸”,成功引起广大人群的跟风消费,从而彻底撬动市场,销售金额呈数倍跳跃式增长也就不足为怪了。
RIO鸡尾酒还能火多久?
在快消饮品行业,每年都会出现一些新热点和新兴子行业。比如核桃露、苹果醋、生榨椰汁等,都会在短时间内达成多轮次的大规模销售成绩,但影响力仅限于行业内,往往都是以昙花一现收尾。回过头来看RIO预调鸡尾酒,笔者也不敢妄自评论,但可以从几方面的趋势来衡量这匹“黑马”的未来发展趋势:
趋势一:消费市场潜力巨大
RIO酒走红时间较短,虽已培育部分粉丝消费者,但作为酒类消费大国和消费人群年轻化基础,RIO这类代表着时尚、青春、娱乐的形象的酒类尚有巨大潜力用户可待挖掘。
趋势二:未来包装或成取胜关键
据相关内部人士透露,RIO酒的消费者中大部分是以18-40岁的女性为主。因为女性喝酒不求喝醉,微醺的状态是刚刚好的。其次,女性购物的动机有很大一部分取决于这个东西好不好看,目前多家经营预调鸡尾酒(RIO酒)的品牌均以缤纷颜色、精致包装打动年轻女性。
趋势三:聚会是主要的消费场合
在购买RIO酒的原因投票中,因朋友聚会选择购买位列第一,随着混搭交友文化的逐渐盛行,朋友聚会的消费力预估将持续增长。
回过头来看,预调鸡尾酒(RIO酒)市场现阶段仍处于蓝海状态,短期来看,像锐澳(RIO)、冰锐、TAKI、红广场等十几家预调鸡尾酒(RIO酒)品牌对这块“蓝海蛋糕”本就吃不完。据内部人士爆料,国内几大传统饮料和白酒品牌其实早已看中RIO酒这片“蓝海”所带来的丰厚利润和无限美好的未来发展前景。像五粮液已于2014年推出“德古拉”品牌,古井贡、水井坊也纷纷斥巨资成立子公司。娃哈哈、康师傅等多家传统饮料企业预计也会在今年年底进军预调鸡尾酒(RIO酒)市场。白酒企业蜂拥而来,可能在进入市场初期的冲击力略显疲软,但随着后期的投入,势必会引起新一轮的市场争夺。由此可见,RIO预调鸡尾酒市场出现百家争鸣的态势将在未来不久的时间内显露无遗!
预调酒引各大巨头竞折腰
在今年成都糖酒会上,有近30家预调酒企业亮相。
关键词:GridSim;Dag图调度;网格计算;网格调度仿真
中图法分类号:TP311 文献标识码:A 文章编号:1009-3044(2011)01-0077-04
GridSim4Dag: A Simulator of Dag Scheduling with GridSim Toolkit
LI Can, DENG Rong
(High Performance Computing Center, Tongji University, Shanghai 201804, China)
Abstract: Since 2002, GridSim, as a popular grid simulator, received much concern for its flexible use and wide range of apply scenarios. However with the limitation of its modeling pattern of task, it is more practical to simulate scheduling of tasks with task pool pattern than tasks of Dag with predecessor-successor relationship. In order to enrich GridSim's simulation functions to better support simulation scheduling of Dag tasks. An improved internal data transfer method P2P (peer-to-peer) is proposed and implemented in this paper and we call the improved GridSim toolkit GridSim4Dag. In the P2P-internal-data-transfer method, predecessor node direct send internal data to successor when it is finished. In this form, we can decrease transmission time, reduce communication cost and lower the transmission error rate. P2P method is not just for scheduling simulation, it can be used in real Grid architectures so that Dag scheduling can be supported better.
Key words: GridSim; Dag scheduling; Grid computing; Grid scheduling simulation
1 概述
随着P2P网格体系结构的不断成熟,越来越多的工作流系统不再使用Client-Server的方式运行,而更多的采用有向无环图(Directed Acyclic Graph,简称为Dag)的方式表示工作流系统中各种任务之间的前驱后继关系[1]。为了能在异构的网格平台中运行Workflow引擎,我们有必要对Dag图的各种调度算法进行研究,如HEFT (HeterogeneousCEarliest-Finish-Time ) 算法、CPOP (Critical-Path-on-a-Processor) 算法[1]。然而,网格[3]环境相当复杂,设施相当昂贵,普通研究者根本不可能在真实的网格环境中去研究各种调度算法,加之网格系统本身的不确定性和不可重复性[3],研究者们普遍采用网格模拟器来研究网格的行为,网格模拟器营运而生。
开源的网格仿真器GridSim[4]以其灵活的使用方式和广阔的应用前景备受网格研究者青睐,在我国,仅2006年至今就有56篇以上的文献使用该平台进行仿真实验[5-7]。
但是,GridSim并不适合Dag的调度,原因在于其提供的任务调度建模方式,是针对任务池型任务的,即所有子任务之间相互独立,没有任何前驱后继的依赖关系。其任务调度的基本思想是: 对每一次仿真,用户(User Broker)将其中的各子任务顺序发送给各资源,资源运行完子任务后将中间结果发回给用户。然而,对有前驱后继关系的Dag图的调度来说,GridSim仍然采用以上的方式来运行,在每一个子任务运行完毕之后,都将其结果发回给用户,再由用户将中间结果发送给对应的后继子任务[4]。这样,同样的中间数据可能要在网络中传输两次或者两次以上。使用面向任务池任务的调度方式来仿真Dag图任务的运行存在诸多问题:如通讯开销大、仿真时间与调度算法计算的理论值不符、出错率高等。
基于以上分析,本文借鉴peer-to-peer网络的思想,提出并实现了基于GridSim中Dag图任务调度的P2P数据传输方式,使得Dag图任务在GridSim中的调度模拟变得更简便,减小了通讯开销,同时减少运行时间,降低通讯出错率,使得可以完全模拟调度算法中对Dag图子任务的调度。P2P数据传输方法的主要思想是:在Dag图的调度中,每个子任务都保存了其后继子任务所在的资源信息,当某个前驱子任务运行完毕时,直接将中间结果发送给其后继子任务所对应的资源,以唤醒其后继子任务的运行。直到所有的子任务都运行完毕,再将总结果发送给用户程序。P2P的方式减少了通讯次数和通讯数据量,从而有效地减少了通讯开销,降低运行时间,降低通讯中数据出错的几率。
本文第2节对GridSim的任务调度模型以及其对Dag图的调度方式进行了详细的剖析。第3节阐述了P2P数据传输方式的基本思想及其运行过程。第4节讲述P2P数据传输方式在GridSim平台上的设计与实现。第5节通过一个实例Dag图,分析其在原始Gridsim下和在改进的P2P传输方式下的仿真结果,证明改进的P2P数据传输方式的优越性以及实现的正确性。第6节对全文进行总结并提出更进一步研究方向。
2 GridSim任务调度方式
2.1 GridSim普通任务调度模型
在GridSim中,仿真过程如下:首先生成资源实体(Grid Resource Entity)和资源信息服务实体(Grid Information Service Entity);当用户将任务提交给用户(User Broker),用户查询资源信息服务实体,获取当前可用资源数量及属性;用户再将任务的各子任务分别发送给对应资源,资源执行完子任务后,将结果返还给用户;待所有子任务执行完毕,用户分析各子任务运行结果,收集整理,产生最终结果并返回给用户[8-9]。交互过程如图1所示。
2.2 GridSim中Dag图调度模型
由于GridSim的任务调度室针对任务池任务设计的,并没有对Dag图的调度做任务特殊的处理,仍然采用普通的调度方式对其仿真。当某个子任务执行完毕之后,中间数据将传送个用户,再有用户将中间结果发送给其后继子任务所在的资源。如此,同样的中间数据在整个网络中传输了两遍,既增加了通讯量,延长了整个Dag图执行的时间(makespan)[1],同时由于网络传送输的不可靠性,增加了由于数据传输出错而导致整个任务失败的可能性。
试举一例,对如图2所示DAG图,共有三个资源Res1、Res2和Res3,可供使用。假设,子任务T1调度到Res1上,T2调度上Res2上,T3和T4调度到Res3上。那么,它在原始GridSim中仿真的时序图如图3.(a)所示。
其中,当T1执行完毕,将结果D1和D2发送给用户,用户再将D1发送到Res2 ,D2发送到Res3以唤醒T2和T3的执行,在T2、T3 执行完之后,分别将D3和D4发送给用户,用户将D3,D4发送给Res3以唤醒T4。直到T4在Res3上运行完毕,将最终结果发送给用户。如此,整个任务执行完毕。以这样的方式运行,每个中间结果(D1,D2,D3,D4)在网络上都传输了两遍或,而且传输量还会随着DAG图复杂性的增长成指数级增长。与此同时,数据传输的出错率被成倍地放大了。
3 P2P数据传输模型
对具有前驱后继依赖关系的Dag图,用户只关心整个Dag图运行的最终结果,并不关心每个子任务执行产生的中间结果。基于此,P2P数据传输模型直接将中间数据传输给后继子任务所在资源。从而达到减少通讯开销,降低通讯出错率的目的。如图3(b)所示,在T1运行完毕后直接将中间数据D1和D2发送给Res2和Res3以唤醒T2和T3,当T2运行完毕后,将结果D3发送给Res3以唤醒T4,由于T3和T4同在Res3上执行,故省去D4的传输时间。从图中可知,与GridSim中原始的传输方式相比,中间数据D1,D2,D3都只传输一次,D4甚至不用传输。使用P2P的数据传输方式大大降低了通讯开销、节省了时间、同时也降低了出错率。
4 GridSim中P2P传输模型设计与实现
GridSim仿真平台包括GridResource,和Grid Information Service(GIS),Gridlet等几种基本功能元件[1],其中GridResource 模拟网格资源。每个网格资源为一个GridResource对象,含多个同构或异构的处理单元,以时分(time shared)或空分(space shared)的方式为网格中的所有用户服务。
GIS模拟网格中的目录服务,是网格的信息中心;所有资源生成之后均需要在GIS上进行登记,供User查询Gridlet 任务。 GridSim仿真环境将任务建模为Gridlet,包含运算量、输入数据量和运行完毕后产生的输出数据量等所有任务属性。
如图4中所示,包gridsim中的类为GridSim提供的原始类,为了扩展GridSim以实现P2P的数据传输,我们扩展了GridSim提供的原始类,如包daggridsim中所示。其中Edge类对Dag图中边建模;DagGridlet 是对Gridlet的扩展,使其包含后继任务所在资源的信息;DagGridResource是对GridResource的扩展。DagSpaceShared是对AllocPolicy的扩展,子任务的发送方式的修改和中间数据的接受及挂起子任务的唤醒都是在DagSpaceShared中实现的。值得一提的是DagGridSimTags,其中只定义个标记,GRIDLET_DATATRANSEFFER,它表示向资源发送消息的类型为中间数据。
4.1 DagGridlet类
GridSim中,使用Gridlet对象对子任务建模,每个Gridlet包含有GridletLength、GridletFileSize和GridletOutputSize等几个域,分别表示子任务的计算量,输入文件大小和输出数据大小。
分析Gridsim对子任务的建模过程,可以看到其不适合DAG图调度的根源在于:Gridsim在设计gridlet数据成员时,将子任务的运行参数gridletLength_和输入输出参数gridletFileSize_、gridletOutputSize_一一对应捆绑在了一起,从而在逻辑上严格对子任务实施了如下限制:
1)每个子任务存在且仅存在唯一的前驱结点、后继结点,即用户(实体)。
2)不存在表示当前子任务后继节点所在的资源信息。
为了能够使Gridsim工具包能为Dag图的调度和运行构造仿真环境,特别是创建工作流应用程序的仿真环境。故而本文对Gridsim进行了较大规模的二次开发,将子任务的输入、输出参数从gridlet中剥离出来形成新类Edge,用以对Dag图中的边建模,令gridlet仅描述与计算相关的子任务属性;以达到全面仿真Dag图在分布式环境下运行过程的目的。
Edge作为Gridlet的内部对象,所包含主要属性包括:
1)destGridlet: 表示此边的后继子任务对应的Gridlet编号。
2)destGridResource: 表示此边后继子任务所在的资源号
3)size:边传输数据的大小,表示从此结点到后继结点所需传输的数据量,
由以上对边Edge的定义,我们可以对Gridlet加以改造以适应其在Gridsim中的仿真调度:改造之后的Gridlet我们称之为DagGridlet,它继承了原先Gridsim中gridlet的所有属性及行为,并添加如下主要数据成员:
1)predeceessorNum_: 表示当前子任务结点的前驱子任务任务个数
2)edgeArray_: Edge类型的数组,表示当前节点所有输出边的集合。
4.2 P2P数据传输方式下Dag图执行流程
使用Edge对子任务之间边进行建模,Dag图的执行可以分为如下步骤:
1)使用静态调度算法[10]即所谓的表调度算法,为每个子任务分配合适合适的资源,如HEFT (HeterogeneousCEarliest-Finish-Time ) 算法、CPOP ( Critical-Path-on-a-Processor ) 算法[2]。因为,在Gridlet建立时就需要为其每一条边建立好对应关系,故此处只能使用静态调度算法,在子任务传送到各资源之前,就为其分配好每一个子任务所在的资源,以便在建立Dag图各子任务前驱后继关系时能在destResource_中填入正确的资源编号。
2)使用对应的调度关系,建立DagGridlet,其中包含有此DagGridlet所对应最优资源的资源号、其与后继结点之间的边Edges、此DagGridlet在对应最优资源上的运行时间等信息;
3)将所有的DagGridlet分别发送到各自对应的资源上,我们可以将此步骤定义为部署(ployment);
4)Dag图各子任务数据传递,当一个子任务运行完毕后,将其数据发送给后继子任务所在的资源并唤醒因等待此子任务而挂起的子任务;
5)当运行到Dag图的出口结点(可能有多个出口结点)时,子任务将最终结果传送给用户(User borker)。
6)用户根据返回的最终结果,整理产生任务的最终结果,发送个用户。
在步骤3)中,我们使用带有GRIDLET_SUBMEIT标记的消息向目标资源发送各子任务,当资源接收到子任务之后,根据其predecessorNum_ 域判断是否为入口结点(predecessorNum_为0表示无前驱,即为入口结点),否则,则将其挂起,等待其前驱子任务运行完毕后再唤醒它。
在步骤4)中,当某个子任务运行完毕之后,判断其是否为出口结点(edgeArray_域为空表示没有输出边,即为出口结点)。如果是,则使用带GRIDLET_RETURN标记的消息将结果发送给用户;否则,使用带有GRIDLET_DATATRANSEFFER标记的消息将结果发送给其后继子任务;而且此时,如果后继子任务不在当前资源上,则还需考虑通讯开销;否则,通讯开销为0。参见如右过程 Procedure 1 finishGridlet()。
资源通过消息标记GRIDLET_DATATRANSFER判断数据是否是前驱子任务发送的中间结果。如果是,首先获取数据,然后调用active过程唤醒相应的子任务。具体过程如下页Procedure 2伪代码片段。
唤醒子任务函数active的伪代码如Procedure 3.
5 实验与分析
考虑运行如下的Dag图,包括十个子任务,其ID分别从0到9(每个圈代表一个子任务),每条边上的数字代表两个子任务之间的通讯量:
假设三个资源分别为P1、P2和P3,各子任务在其上的执行时间如下表如图5.(b)所示:
使用HEFT算法[2]的静态调度结果顺序如下:n0,n2,n3,n1,n4,n5,n8,n6,n7,n9。各资源上运行的子任务如下:
根据HEFT算法各子任务的开始运行时间和运行结束时间如表2.(a)所示:
表2 两种方式下各子任务运行开始及结束时间表
从表中可以看出,整个Dag图运行的makespan是80(秒)。
我们再来看使用GridSim提供的原始方法调度相同的Dag图,任务使用HEFT算法,得到相同的调度方式:
各子任务的开始时间以及影响其开始执行的限制条件如表2.(b)所示
从以上调度方式的运行时间比较,我们可以看出,在原始的Gridsim中模拟Dag图的调度,并不能得到理想的结果。按照HEFT[2]算法的调度方法,图5所示Dag图的总运行时间(makespan)应为80,然而,如果使用原始的GridSim包进行模拟,得到的结果只会是123。两种方式下运行图5所示Dag图的运行时序图如图6所示。
其中,其中箭头表示子任务在不同的处理器上执行时制约起开始的条件,1号子任务在处理器P1上执行完毕的时刻是40,分配到处理器P2上的8号子任务必须等到时刻56(40+16=56,16为通讯开销)才能开始执行。(a)表示使用P2P数据传输方式的GridSim4Dag中的调度运行时序图,(b)表示使用GridSim原始的调度方式的运行时序图,从图中可以看到,由于中间结果的传送,增加了通讯开销,从而增大了整个任务的运行时间。粗箭头表示两种运行方式下个子任务之间制约条件的变化。
通过对GridSim底层的修改,实现P2P的数据传输方式,运行图5所示Dag图的makespan是80,总的周转时间为:80.01000000000022(所谓周转时间是指:任务第一个子任务开始运行到最后一个子任务运行完毕所花的时间),与HEFT算法计算出来的理论值吻合。
6 总结与前瞻
本文提出Dag图在GridSim中运行的一种新的数据传输方式,即P2P的方式,并通过对GridSim中代码的修改,实现GridSim中P2P的中间数据传输方式,并通过实验证实在在改进的GridSim4Dag上仿真Dag图运行的有效性和正确性。
本文设计实现的P2P中间数据传输方式的GridSim4Dag,不仅能扩展GridSim的功能,使其满足Dag仿真的要求,它更深层次的意义在于它符合Dag图调度的逻辑,所以可以应用到更多的真实网格系统中,如Globus,Fura等,所以以后还会进一步研究这种Dag图的调度方式在实际网格中的运行效果,以及其在真实的网格系统中的实现细节。参考文献:
[1] Z Yu and W Shi.An Adaptive Rescheduling Strategy for Grid Workflow Applications[J].Proc.of IPDPS,2007(3).
[2] Haluk Topcuoglu,Min-You Wu.Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing[J].IEEE Transactions on parallel and distributed system,2002,13(3).
[3] 卢鹏,金海,谢夏,等.关于模拟器的研究[J].高性能计算技术,2005,173(2):5-9.
[4] Forster I,Kesselman C,ed al.The Grid: Blueprint for a Future Computing Infrastructure[M].Morgan Kaufmann:San Mateo,CA,1999.
[5] Rajkumar Buyya,Manzur Murshed.GridSim: a toolkit for the modeling and simulation of distributed resource management and scheduling for Grid computing[J].CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Computing;Pract.Exper,2002(14):1175-1220.
[6] 刘宴兵,杨茜慧,王文斌.基于GridSim ToolKits的网格仿真环境设计与实现[J].计算机科学,2008,35(6):83-85.
[7] 李炯,卢显良,董仕.基于GridSim模拟器的网格资源调度算法研究[J].计算机科学,2008,35(8):95-97.
[8] 邓蓉,陈闳中.GridSim仿真代码生成器GridSimHelper[J].计算机科学,2010(10).
[9] 董子龙.An Anatomy of GridSim[DB/OL].[2005-06-18].浙江大学CAD&CG实验室.
为提高我市托幼机构卫生保健工作质量,加强托幼机构卫生保健管理,确保全市儿童身心健康。我们于2008年5月份对辖区内22所托幼机构的卫生保健状况进行了调查,现报道如下。
1 对象与方法
1.1 调查对象 随机抽取我市辖区内市直机关幼儿园12所,个体幼儿园10所。
1.2 调查方法 依据国家卫生部、教育委员会制定的《托儿所、幼儿园卫生保健管理办法》规定要求,采取自制的托有机构卫生保健状况调查表,由儿童保健专业技术人员深入幼儿园进行实地调查,逐项对照表格认真填写。
2 结果
2.1 基本情况 随机抽查的22所幼儿园,登记注册的20所,未登记注册的2所(均为个体园),22所幼儿园均为全日制,在园儿童总数为4780人。其中:市直12所幼儿园在园儿童3560人(占74.48%),个体10所幼儿园在园儿童1220人(占25.52%),22所幼儿园在园工作人员655人,其中有保健人员25人。
2.2 卫生保健状况 在22所幼儿园的卫生保健人员25人中,有专职保健人员14人,兼职保健人员11人,有专业证书或执业证书者7人,在市直12所幼儿园中均设有保健室,并配备有卫生保健所要求的基本用具(体温表、血压计、体重计等)和常用药品。都能按照《托儿所、幼儿园管理办法》的要求对人园儿童和在园儿童严把健康查体关;在10所个体幼儿园中只有专职保健人员3人,只有2所幼儿园有专门的保健室,而且基本的保健用具也不健全,对儿童健康查体要求不规范,有5所幼儿园没有儿童健康查体档案。在22所幼儿园中有16所幼儿园对保教人员要求持健康证明书上岗,有4所幼儿园(均为个体园)的保教人员无健康证明书,亦未进行健康查体。22所幼儿园中有11所幼儿园设有专门的隔离室。见表1。
3 讨论
本次对我市托幼机构的卫生保健状况进行调查分析可以看出,市直幼儿园的卫生保健状况明显好于个体幼儿园,个体幼儿园的儿童查体率和幼师查体率都明显低,并且卫生保健设施还有待进一步完善。本次调查结果可为下步托’幼机构卫生保健管理提供依据,制定有效措施,促进全市托有机构的卫生保健管理工作走向正规化规范化。
3.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. 生活就像万花筒,缤纷精彩,于是便有了那些所谓的快乐,幸福。祝自己生日快乐。
34.今天是我的生日,首先祝自己生日快乐,不知不觉生命的年轮又在时空中一划过了一年,又老了一岁,呵呵…感谢友友们给我送来的祝福,让我感受到了人间的温暖,友情的可贵,祝愿我的朋友们永远幸福安康!
35. 不是每天都能过生日,希望我今天生日快乐,愿你年年岁岁幸福永伴!
36. 亲爱的自己,今天是你的生日,生日快乐,记得要常常仰望天空,记住仰望天空的时候也要看看脚下。
37. 所以别吝啬你的一句祝福,虽然很简短,却拉近了你我的心!
38. 祝自己生日快乐,一年又一年希望自己是离梦想越来越近,而不是越来越远!
39.有一句话说得好,叫乐此不疲,也就是说:做自己感觉有乐趣的事情,那么自然不会感觉疲惫和劳累,快乐无国界。快乐的词汇里没有贫富,尊卑,权势之分。快乐来源于每个生灵最美好的天性。祝自己生日快乐。
40. 开朗的性格不仅可以使自己经常保持心情的愉快,而且可以感染你周围的人们,使他们也觉得人生充满了和谐与光明。祝自己生日快乐。
41.生日快乐,所以,未来的日子里,我要快乐,要让生活充满阳光,要实现我所有的梦想,要尽全力让所有爱我的和我爱的人快乐。我要成长,要学会体谅和承担,要懂得如何善解人意而不再任意妄为,要让生活简单纯净。我要忘记悲伤不再寂寞,要学着在难过和寂寞的时候找到快乐和欣然。我要坚持我自己的信念,肯定自己的力量和能力,坚信我的梦想经过努力后一定会成为现实,不畏惧所有怀疑和阻碍,我要努力让我的未来更加明朗更加美好。
42. 亲爱的自己,今天是你的生日,生日快乐,记得要常常仰望天空,记住仰望天空的时候也要看看脚下。
43.我今天的早餐是昨天的隔夜餐,中餐是自己一个人做一个吃的,晚餐是猪肠粉。不要为我难过,因为至少临睡前我陆续从短信电话微博里得到部分真心人的祝福了,尽管跟你的守护者的人数比起来是亿万分之一,我还是觉得比去年今天幸福多了。
44. 又长了一岁了,希望能让自己变得成熟点,变得更幸福点,如果能减肥点,再加变得漂亮点就更好了!呵呵!其实生活是自己的,快乐和幸福都取决去自己吧!
45. 最美丽的日子,最可爱的你,最完美的礼物,最快乐的相遇,最精彩的做自己,最幸福的全给你,最好是你的心事都如意。生日快乐。
46.一个人要学会遗忘自己的成绩,有些人稍微做了一点成绩就骄傲起来,沾沾自喜,这显然是造成失败的一个原因。成绩只是过去,要一切从零开始,那样才能跨越人生新的境界。
47. 一个人的生日,没有生糕,没有烛光晚餐,没有人为我唱着情歌,我的寂寞,散布每一个角落,只有跟自己说生日快乐!
48. 愿你宿愿得偿,快乐幸福更胜以往。
49. 人生苦短,别对自己吝啬一句祝福,对着天空大喊:祝我生日快乐!
50. 也许今天有很多人过生日,但每个人每一年的生日都只有一次,所以我告诉自己每一年的今天都要祝你生日快乐!
51.今天是我的生日,期盼已久的日子,先祝自己生日快乐!不知不觉,生命的年轮又在时空中划过了一年,换言而之,是又向生命的终点迈进了一步。蓦然回首生命中历经的二十多年的酸甜苦辣,才发现时光飞逝,时转流速。此刻,我告诉自己,不去回忆过去的苦与痛,流水的年华会帮我带走记忆中开心的难过的痛苦压抑或幸福。
52.在时光变化莫测中,感情的沙滩上涌动的是温热的潮汐。都说往事如风,轻薄的风儿岂能知晓往事的厚重。都说往事如烟,轻浮的烟云散尽,却散不尽往事的隽永悠长。正是如此我才明白,今天是多么的重要,不仅仅是因为今天是我生日,而是每一个今天都很重要,过去的无法改变,将来的无法,我能做什么呢?我能做的就是做好今天的事。
53.每年的这个时刻你都会许个愿,虽然去年的愿望今年看来并没有实现,你依然是一个人在孤独中飘泊地走啊走啊,为自己的心找一个家,却不知家在何处,何处是家?知道你有点难过,但是亲爱的,别哭。生命中的那个人,总会遇见的,既使遇不到,你的人生难道就不能在缺憾中活着一份精彩了吗?所以咱不必悲伤,俗话说:苦生苦,乐生乐,咱要修来个好心态,这样再不好的日子都可以从从容容地过。多好。
54.可别冲我瞪眼,一瞪眼你那双美丽的眼睛就成狮子眼了,难看死了!可也别忧愁,愁起来也不好看象个老太!虽说真诚的人内心往往有许多悲哀,但是亲爱的,我宁愿你保持你的真诚到永远,并且定会收获更多的感动与欢喜,来温暖自己。
55. 时间如流水,又要迎来岁的生日了,应该说是长大了一岁,还是说老了。
56. 南瓜。我就知道你一直是好样的。现在咱静下心来许个愿吧。为新的一年新的开始。
57.人的一生并不都是一帆风顺,有欢笑也有眼泪,有失落也有收获,会遇到挫折,也会经历失败,关键是不能被失败,勇敢的继续往前走,总会有光明的前途。人生,不管是谁,都不可能一帆风顺,很多看上去让你不顺的逆境都将在你不知道的将来成为引以为傲的财富。
58.随着现实观念的增强,这个社会物欲横生,尔虞我诈,其实大可不必大富大贵,披金戴银,但是对于那份静谧,那份舒心,那份惬意的追求,应当是永无休止。
59. 祝我生日快乐,以后好好珍惜时间,为人类创造价值,还要心疼自己,不可以太劳累,还有,要关心孝顺爸爸。
60. 回首以往,我们渐渐认识到,是这些众多的生日使我们宽厚仁爱,更增智慧,年龄的增长使心境愈趋宁静。祝我生日快乐!
61. 要想撬起世界,它的最佳支点不是整个地球,不是一个国家一个民族,也不是别人,而只能是自己的心灵。
62. 不是每天都能过生日,希望我今天生日快乐,愿你年年岁岁幸福永伴!
63.亲爱的自己,今天是你的生日,生日快乐,不要太低调了,有时要强悍一点,被欺负的时候,一定要讨回来!但是一定不要记恨,小人之见随他们去好了,怜悯会使你高贵。
64. 要学会遗忘,用理智过滤去自己思想上的杂质,保留真诚的情感,它会教你陶冶情操。只有善于遗忘,才能更好地保留人生最美好的回忆。
65. 所以别吝啬你的一句祝福,虽然很简短,却拉近了你我的心!
66.出来工作几年了。很多朋友和同学都没怎么联系。一年到头还打不了两个电话。整天都是忙着上班工作。每天为生计奔波。每天习惯了一个人,很久没联系的老朋友。却都在今天我生日的这个日子。给我发来了短信。送来了祝福。我以为我的生日没人知道,原来她们都记得。我很感动。
67. 愿你的生日充满无穷的快乐,愿你今天的回忆温馨,愿你今天的梦想甜美,愿你这一年称心如意!
68.人的一生并不都是一帆风顺,有欢笑也有眼泪,有失落也有收获,会遇到挫折,也会经历失败,关键是不能被失败,勇敢的继续往前走,总会有光明的前途。人生,不管是谁,都不可能一帆风顺,很多看上去让你不顺的逆境都将在你不知道的将来成为引以为傲的财富。
69. 耳畔传来的音乐已经听不清楚,越来越模煳,越来越远。一个没有烛光,没有祝福的——我的生日,任由我自己一个人在寂寞中度过。
70. 想念的话,说也说不完,关怀的心,永远不改变。一串真挚的祝福,一个不平凡的心意,衷心地祝愿你生日快乐!
71.可别冲我瞪眼,一瞪眼你那双美丽的眼睛就成狮子眼了,难看死了!可也别忧愁,愁起来也不好看象个老太!虽说真诚的人内心往往有许多悲哀,但是亲爱的,我宁愿你保持你的真诚到永远,并且定会收获更多的感动与欢喜,来温暖自己。
72.我知道自己在你心中最重要,可你却这样狠心伤害我,不一会你就会感觉神清气爽,精神百倍。这个就是快乐,生日快乐!
73.傻就傻呗,我知道你常爱骂自己傻,不太懂得世俗间的人情世故,也不会听音儿说话,活得个再简单不过了,但说不定这也是你的福祉所在哦。现在的聪明人太多,你且反其道行之吧,就做个糊里糊涂的傻子,过简单而快乐的日子,也是不错。
74. 年年生日来而复去,留下永久的快乐回忆。愿今天的每时每刻都充满明媚,似阳光普照鲜花绽放!
75. 又是一个美好的开始,愿我虔诚的祝福,带给我成功的一年,祝我生日快乐!
76. 温馨的烛光为你点亮,脑海浮现昔日的时光;把双手紧紧握在胸膛;默默为自己许下愿望;愿祝福的短信都成真;愿生日的快乐永在心。
77. 生辰,对于每个人都是唯一的,他是我们生命开始的象征,在我们庆祝的同时,请不要忘了对爱自己的母亲道一声辛苦了,为了父母也一定要幸福!
78. 一个人的生日,一个人的精彩,一个人悄悄上演着华丽,而后是落寂。一个人的生日,心静如尘。祝我生日快乐!