课题基金 / 基金详情

Funding for CCPForge and software engineering support for research computing

Funding for CCPForge and software engineering support for research computing
为 CCPForge 提供资金并为研究计算提供软件工程支持
批准号:
EP/L000342/1
负责人:
Christopher Greenough
金额:
$109.75万
依托单位国家:
英国
项目类别:
Research Grant
财政年份:
2013
资助国家:
英国
项目状态:
已结题
起止时间:
2013 至 --

项目摘要

项目成果

Christopher Greenough的其他基金

相关文献

中文摘要
翻译
该项目将提供3项服务:* CCPForge。* buildbot服务* QA工具服务器。此外,还将有一个软件工程支持计划,包括为计算科学界确定相关的软件工程工具和技术,以及培训和传播信息。这四个方面将标志着QA工具和持续测试服务的可用性的一个步骤变化,通过研讨会和培训研讨会,也将这些想法纳入开发过程。CCPForge项目的CCPForge组件有两个部分:运行服务和开发服务。这两者对于提供一个好的服务来说都是必不可少的,尽管用户会很明显地看到开发的进展,但是如果服务的响应性和可用性不符合他们的喜好,他们会很快注意到。目前的CCPForge服务为希望在开发过程中使用软件工程工具和技术的项目提供了第一步。该项目将通过CCPForge扩展可用工具的范围,以包括特定的质量保证工具,并允许某些预定义的任务快速简单地从网页上运行,并将结果存储和检索用于协作开发决策。BuildbotBuildbot(http://trac.buildbot.net/)是一种手段,通过它可以建立一个测试制度,以便在特定的触发条件下容易地进行测试。触发器可以是一天中的特定时间-例如,每天晚上运行的回归测试套件,或代码仍然编译的存储库签入检查,或手动用户启动的操作。我们将创建一个buildbot服务,它包括一个可以响应CCPForge触发器的主服务器和一小部分从服务器,这些从服务器提供Linux、Windows和MacOS环境以及编译器和支持库。我们将寻找大规模HPC和新架构的机器加入从机池。对于CCPForge上的项目,我们将创建一个buildbot插件,它提供了一个易于使用的界面来创建触发器,指定如何运行测试,并可以从master和一个简单的通过/失败指示器访问buildbot格式的结果。培训将在以下两个方面提供-线和研讨会的形式,包括动手会话。QA工具服务器这个活动的目的是使计算科学家更容易使用软件engineering工程tools工具and techniques技术.通过将QA工具和buildbot与CCPForge集成,我们将实现这一目标。然而,通过网络界面使工具简单易用,我们牺牲了一些工具的全部功能。一旦通过CCPForge灌输了软件工程的习惯,我们希望用户会想知道他们还能做什么,这就是QA工具服务器的用武之地。通过将工具收集在一个地方并编写全面的教程材料,我们将提供高级服务,提供工具的完整功能以及易于运行的工具的常见用例。软件工程支持我们将承担为现代和不断扩大的计算科学社区以及那些处理遗留代码的人找到相关软件工程思想的挑战。具体要求将通过与CCP开发人员和社区中的其他人举行用户会议来充实,以确定他们在语言和工具种类方面的需求。确定的工具和技术将提供给其他服务,有关工具的信息和培训将以报告形式提供,并通过讲习班和研讨会提供。
英文摘要
This project will provide 3 services: * CCPForge. * A buildbot service. * The QA tools server.In addition there will be a software engineering support initiative which involves identifyingrelevant software engineering tools and techniques for the computational science community, andtraining and dissemination of the information. Together these four strands will mark a step change in the availability of QAtools and continuous testing service and, with seminars and training workshops, also the uptake ofthese ideas into development processes.CCPForgeThe CCPForge component of the project has two parts: running the service and developing theservice. Both are essential to providing a good service and though the users will most obviously seethe developments, they will quickly notice if the responsiveness and availability of the service is notto their liking.The current CCPForge service offers a first step for projects wishing to use software engineering toolsand techniques in the their development process. This project will extend the range of tools availablevia CCPForge to include specific quality assurance tools and allow certain pre-defined tasks to be runquickly and simply from the web pages with the results stored and retrievable for use in collaborativedevelopment decisions. A QA tools plug-in will be developed to provide this functionality.BuildbotBuildbot (http://trac.buildbot.net/) is a means by which a testing regime can be set up to runtests easily given a specific trigger. A trigger may be a particular time of day - a regression test suiteis run each night for example, or a repository check-in - check that the code still compiles, or a manualuser initiated action. The tests can be of any sort provided whatever is run can provide pass/failinformation.We will create a buildbot service that comprises a master which can respond to triggers from CCPForge and a small set of slave machines that deliver Linux, Windows and MacOS environments with compilers and support libraries. We will look for large scale HPC and novel architecture machines to join the pool of slaves. For projects on CCPForge we will create a buildbot plug-in which provides an easy to use interfacefor creating triggers, specifying how the tests are to be run, and having access to results in the buildbotformat from the master and a simple pass/fail indicator.Training will be available in both on-line and workshop form including hands on sessions.QA Tools ServerThe aim of this activity is to make it easier for computational scientists to use software engineeringtools and techniques. By integrating the QA tools and buildbot with CCPForge we will achieve thisaim. However, by making tools simple to use through a web interface we sacrifice the full features ofsome tools. Once the software engineering habit has been inculcated through CCPForge we expectthat users will want to know what more they can do and this is where the QA tools server comes in.By collecting the tools in one place and writing comprehensive tutorial material we will provide anadvanced service offering the full functionality of the tools as well as common use cases for the toolsthat are easy to run.Software Engineering SupportWe will take up the challenge of finding relevant software engineering ideas for the modern and expanding computational science community as well as as well as for those dealing with legacy code. Specificrequirements will be fleshed out by holding user meeetings with CCP developers and others in the community to identify their needs both in terms of languages and the sorts of tools that would be useful.The tools and techniques that are identified will feed into the other services and information and training on the tools will be provided as reports and via workshops and seminars.
期刊论文(1)
专著(0)
科研奖励(0)
会议论文
Reflections from a decade of running CCPForge
CCPForge 运行十年的反思
DOI: --
发表时间: 2018
期刊:
影响因子: --
作者: [Jones CM]
通讯作者: Jones CM
Virtual Wave Structure Interaction (WSI) Simulation Environment
Exploitation of High Performance Computing in the FLAME Agent-Based Simulation Framework
The CCPP Network in Computational Plasma Physics