GOSV2培训网格批作业系统.ppt_第1页
GOSV2培训网格批作业系统.ppt_第2页
GOSV2培训网格批作业系统.ppt_第3页
GOSV2培训网格批作业系统.ppt_第4页
GOSV2培训网格批作业系统.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网格批作业系统 网格批作业记账系统,GOSV2 培训,网格批作业系统,目标 功能 实现,网格批作业系统-目标,实现主机批作业系统的服务化封装,屏蔽底层主机批作业系统的异构特征,为用户提供简单、标准兼容的服务调用接口。,网格批作业系统-功能,网格批作业驱动程序 接受批作业服务的调用,生成辅助文件并调用批作业系统。 网格批作业服务 通过对底层批作业系统(PBS等)的服务化封装,为客户端提供统一、通用的批作业处理功能,包括:作业提交、状态查询、作业取消、获取标准输入/输出,数据的stagein/stageout等。 网格批作客户端 通过网程与网格批作业服务之间进行交互,屏蔽底层服务的访问细节,为用户(应用)提供方便、易用的批作业处理接口,包括:作业提交、状态查询、作业取消、获取标准输入/输出等。,网格批作业系统-实现,结构,网格批作业系统-实现,后续部分: 结合实例,介绍从客户端提交作业直到作业结束的全过程,既包括客户端API和服务端API的使用,也包括服务端实现的相关说明。,网格批作业系统-实现,实例包括如下过程: 用户预先上传作业需要的输入文件(使用网格文件API); 用户提交作业描述; 判断作业是否结束(使用作业状态查询和作业StageOut状态获取接口); 作业执行完毕后,获取标准输出/错误; 作业执行完毕后,使用网格文件API获取输出文件。,网格批作业系统-实现 submit流程,1. create grip and invoke effective file and batch service,grip,physical batch service,Agora Service,2. authentication, resource selection and get back token,4. submit job script with GOS context,physical file service,physical file service,physical file service,3. upload stagein files into distributed user file space,grip,6. download stagein files,local batch system,8. upload stageout files,7. submit query,5. create grip,网格批作业系统-实现,实例中相关API使用:,网格批作业系统-实现,使用网格文件API上传作业的输入文件 GripClient gc = new GripClient(); UserHandle userHandle = gc.create(proxy, agoraId); HotfileGripClient hgc = new HotfileGripClient(gc, userHandle, agora_service_address, agoraId); hgc.upload(EDS, EMSName, “localfilename“, “globalfilename“); /本例中需要预先把一个本地文件上传到全局文件空间,并且名字为input. /HotfileGripClient的详细使用请参见网格文件系统部分的介绍,网格批作业系统-实现,BatchGripClient初始化 GripClient gc = new GripClient(BatchConstants.BATCH_CLIENT_WSDD); byte proxy = BatchUtils.readProxy(proxyPath); UserHandle userHandle = gc.create(proxy, agoraId); bgc = new BatchGripClient(gc, userHandle, agora_service_address, agoraId, batchAddr);,网格批作业系统-实现,作业提交 String jid = bgc.submit(new BatchJobDesc(new File(“myjob.xml“).toXML(); System.out.println(“after submit ,job id is: “ + jid);,网格批作业系统-实现,作业状态查询,如果为Done,获取标准输出和标准错误信息 while (true) status = bgc.status(jid); System.out.println(“Refreshed Job Status:“ + status); if (status.equals(“Done“) | status.endsWith(“Failed“) System.out.println(bgc.getStdout(jid); System.out.println(bgc.getStderr(jid); break; Thread.sleep(5000); ,网格批作业系统-实现,作业StageOut状态获取 while (status.equals(“Done“) boolean stageoutok = false; try stageoutok = bgc.isStageOutOK(jid); catch (Exception e) e.printStackTrace(); System.out.println(“Refreshed Job stageout Status failed! n“); break; if (stageoutok) System.out.println(“job done and stageout is ok ! do some file operation. “); break; Thread.sleep(5000); ,网格批作业系统-实现,使用网格文件API下载作业的输出文件 GripClient gc = new GripClient(); UserHandle userHandle = gc.create(proxy, agoraId); HotfileGripClient hgc = new HotfileGripClient(gc, userHandle, agora_service_address, agoraId); boolean tt = hgc.download(EDS, “globalfilename”, “localfilename”); /把作业的输出文件(本例中全局文件名是output)从全局文件空间,下载到本地. /HotfileGripClient的详细使用请参见网格文件系统部分的介绍。,网格批作业系统-实现,服务端实现介绍: 批作业服务,(以最复杂的submit接口为例)。 批作业驱动程序,网格批作业系统-实现,批作业服务: 接口: String submit(String agora_service_address, String agoraId, String jobDescription) String status(String id); void cancel(String id); String getStdout(String id); String getStderr(String id); boolean isStageOutOK(String id);,网格批作业系统-实现,批作业服务:submit 搜集调用信息,从GOSContext中获取 Call user proxy 创建本次调用工作目录并更改权限755; 验证作业描述是否有效; 如果有输入文件,则从全局空间下载到本地;,网格批作业系统-实现,批作业服务:submit 续 在本次工作目录中创建辅助文件, fn是一个随机数 fn.origin 存放作业描述中的脚本部分 fn.stagein 存放作业描述中的stagein部分 fn.stageout存放作业描述中的stageout部分 根据gridmap,从DN映射到本地用户名; 调用批作业驱动程序,获得作业ID; 记账; 把作业信息放入作业描述表。作业描述表在批作业初始化的时候生成,存放所有提交过的作业信息,可被作业清除程序定期清除;,网格批作业系统-实现,批作业服务:submit 续 创建StageoutWorker线程; 返回作业ID给客户端。 StageoutWorker线程 StageoutWorker负责监控作业执行状态,当作业执行完毕时(status=Done),此线程把结果数据上传到全局空间。,网格批作业系统-实现,批作业驱动程序 根据fn.origin,fn.stagein,fn.stageout 生成 fn.pbs; 接受Batch Service调用,提交fn.pbs到后台批作业系统; 返回结果文件以及stdout和stderr。 setuid,网格批作业记账系统,目标 功能 实现,网格批作业记账系统-目标,建立覆盖全网格的批作业系统记账数据的生成、汇总机制。,网格批作业记账系统-功能,记录批作业系统的使用数据; 每天生成记账信息; 每天汇总记账信息;,网格批作业记账系统-实现,结构:,网格批作业记账系统-实现,当用户调用网格批作业服务时,网格批作业服务会把本次作业的相关信息记入记账数据库,ADP每天执行一次,负责生成本地的记账信息,ADA每天执行一次(比ADP晚),通过调用AS对各个节点的记账信息进行汇总。,网格批作业记账系统-实现,服务接口: 获取节点用户记账信息 byte getUserAccData(String uid, String timeBegin, String timeEnd) ; 获取节点记账信息 byte getAccData(String sid, int opt),网格批作业记账系统-实现,获取用户记账信息接口返回如下的XML: n tj1 1339 done CNGrid-Node-1000 z10161504 20041018130801 20041016150717 20041016150718 1 0 0 0 。 ,网格批作业记账系统-实现,获取节点记账信息接口: byte getAccData(String sid, int opt)throws RemoteException

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论