找回密码
 新注册用户
搜索
查看: 10368|回复: 17

[已完成翻译] [BOINC 开发文档]Designing distributed computations 部分

[复制链接]
发表于 2006-3-30 11:53:05 | 显示全部楼层 |阅读模式
有待翻译的页面地址列表请参看:http://boinc.berkeley.edu/create_project.php
http://boinc.equn.com/dev/create_project.html

Designing distributed computations with BOINC

  ·What applications are suitable for BOINC?     ——>感谢 碧城仙 翻译!
  ·Basic concepts
       Projects and applications    ——>感谢 欧阳云、潜水的猫、QQ 群里爆强的女生 共同翻译!
       Files and file references       ——>感谢 碧城仙 翻译!
       Platforms                   ——>感谢 Youth 翻译!
       Applications and application versions                    ——>感谢 Youth 翻译!
       Workunits                    ——>感谢 Youth 翻译!
       Results                    ——>感谢 Youth 翻译!
   ·Work distribution
       Redundancy and errors                    ——>感谢 Youth 翻译!
       Numerical discrepancies                    ——>感谢 Youth 翻译!
       Work distribution                    ——>感谢 Youth 翻译!
       Locality scheduling                    ——>感谢 Youth 翻译!
  ·Trickle messages                    ——>感谢 Youth 翻译!
  ·Security issues                   ——>感谢 Youth 翻译!

[ Last edited by 碧城仙 on 2006-4-17 at 22:08 ]
回复

使用道具 举报

 楼主| 发表于 2006-3-30 12:02:31 | 显示全部楼层
本帖内容由 欧阳云、潜水的猫、QQ 群里爆强的女生 共同翻译,在此谨表示感谢!

翻译 Projects and applications 页面:http://boinc.berkeley.edu/project.php

  Projects and applications

  A project is a group of one or more distributed applications, run by a single organization, that use BOINC. Projects are independent; each one has its own applications, databases and servers, and is not affected by the status of other projects.

工程是单个团体利用 BOINC 来运行的一个或多个分布式应用软件组。工程是独立的;每一个工程都有它自己的应用软件,数据库和服务器,并且不会受到其他工程进展的影响

  Each is identified by a master URL, which refers to an XHTML document describing the project.

每个工程都可以通过一个主链接来确认,这个主连接引用了一份描述这个工程的 XHTML 文档。

  Creating projects is relatively easy. An organization can create projects to do Alpha and Beta testing of applications. Testers can register for these projects, in addition to or instead of the organization's public project.

创建工程相对是简单的。一个组织可以创建个工程来做应用软件的 Alpha 和 Beta
测试。测试员可以注册这些工程,而不是组织公开这个工程。

  The components of a project are shown below. Those in blue are the ones that are provided as part of the BOINC package. Those in off-white are the parts that you must write yourself, in order to BOINC-enable your own application.

下面指出了一个工程应包括的内容。蓝色的是 BOINC 提供的 BOINC 包的一部分。白色部分是我们要自己写的,以便于 BOINC 能够访问我们的程序。

  

  The server side of a project consists of two parts:

一个工程的服务一端包括两部分:

  1、A project back end that supplies applications and work units, and that handles the computational results. Input and output files are distributed by data servers, which are HTTP servers able to handle CGI programs with POST commands. These servers need not be owned or operated by the project. A project might, for example, recruit other organizations to donate network bandwidth by hosting data servers; data could be moved on tape between the project back end and the data servers.

工程后台提供应用程序和操作单元,并且处理计算结果。数据服务器分发输入输出文件,它是一种能够处理有 POST 命令的 CGI 程序的 HTTP 服务器。工程不需要拥有或操作这些服务器。比如,一个工程可以吸收其他组织通过集群数据服务器捐献出来的网络带宽;在磁带上的数据,可以在工程后台和数据服务器之间不断迁移(工程在后台通过磁带与数据服务器之间交换数据)。

  2、A BOINC server complex that manages data distribution and collection.

BOINC 联合服务器管理数据的分发和收集。

  The BOINC server complex includes the following components:

BOINC 联合服务器包含下面内容:

  1、One or more scheduling servers that communicates with participant hosts.

一台或多台与参与主机通信的时间同步服务器。

  2、A relational database storing information about work, results, and participants.

存储工作、结果和共享者信息的关系数据库。

  3、Utility programs and libraries that allow the project back end to interact with the server complex.

允许后台和联合服务器交互的有效的程序和库文件。

  4、Web interfaces for participants and developers.

参与者和开发者的网络接口。

评分

参与人数 1维基拼图 +25 收起 理由
霊烏路 空 + 25

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2006-3-30 16:28:15 | 显示全部楼层
翻译 What applications are suitable for BOINC?  页面:http://boinc.berkeley.edu/parallelize.php

Which applications are suitable for BOINC?
什么样的应用项目适合使用 BOINC 平台?

BOINC is designed to support applications that have large computation requirements, storage requirements, or both. If a project can attract a million participants, it could gain access to dozens of TeraFLOPs of CPU power and perhaps a Petabyte of storage.

BOINC 是为了支持一些有超大型计算、储存需求或两者兼而有之的应用而设计开发的。 如果一个项目能吸引到数百万的志愿参与者,就可以获取几十 TeraFLOPs(处理器浮点运算能力度量单位,1 teraflops=每秒 1 万亿次数学运算) 的 CPU 处理能力,或者是 petabyte(存储系统衡量标度,一个 Petabyte 级的磁盘驱动器约等于2097 个 500GB 的硬盘) 的储存能力。

However, because the resources of a BOINC project are unreliable and sporadically-connected Internet PCs, an application must have several properties to effectively use BOINC:

然而,由于 BOINC 项目能利用到的资源都是不可靠的,而且通过互联网连接到服务器的计算机是零散分布的,因此,一个应用项目是否有必要使用 BOINC,可以从一下几个方面来衡量:

Public appeal
公众吸引力

An application must be viewed as interesting and worthwhile by the public in order to gain large numbers of participants. A project must have the resources and commitment to maintain this interest, typically by creating a compelling web site and by generating interesting graphics in the application.

一个应用项目必须是富有意义、很有价值的、能够吸引广大民众参加的。项目必须有足够的资源,并努力保持参与者对项目的兴趣,最重要的是建立网站,发布生动有趣的图形界面。

Independent parallelism
独立并行

The application must be divisible into parallel parts with few or no data dependencies.

项目分析的对象数据必须能实现分割,即划分成许多个相互之间没有关联或者关联很小的部分。

Low data/compute ratio
数据/计算比率低

Input and output data are sent through commercial Internet connections, which may be expensive and/or slow. As a rule of thumb, if your application produces or consumes more than a gigabyte of data per day of CPU time, then it may be cheaper to use in-house cluster computing.

输入和输出数据都是通过互联网来传送的,联网费用可能比较昂贵,传输速度也许比较缓慢。以我们的经验,如果您的应用项目每天的 CPU 处理能力只能对略多于 1GB 的数据进行处理,那么使用更为便宜方便的内部计算机联网计算就可以了。

Fault tolerance
错误允许

A result returned from a public-resource computer cannot be assumed to be correct. Redundant computing can be used to reduce the error probability, but not all the way to zero. If your application relies on 100% correctness, you shouldn't use BOINC.

通过公众计算机处理后返回到服务器的结果包不能完全保证是正确的。因此,需要减少重复计算错误的概率,直到减为零。如果您的应用项目要求返回结果 100% 的正确,那么 BOINC 可能并不适合您使用。

评分

参与人数 1维基拼图 +20 收起 理由
霊烏路 空 + 20

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2006-3-30 19:01:43 | 显示全部楼层
翻译 Files and file references 页面:http://boinc.berkeley.edu/files.php

Storage
文件存储

Files and data servers
文件和数据服务

The BOINC storage model is based on files. Examples of files:
BOINC 存储模块是基于文件的。例如以下文件:

·The inputs and outputs of applications;
应用程序的输入和输出文件;
·Application executables, libraries, etc.
应用程序的可执行文件、库文件等等。

The BOINC core client transfers files to and from project-operated data servers using HTTP.

BOINC 核心客户端使用 HTTP 连接来与项目操作数据服务器来进行文件传送。

A file is described by an XML element of the form
文件是以 XML 表格元素的形式描述的,例如:

<file_info>
    <name>foobar</name>
    <url>http://a.b.c/foobar</url>
    <url>http://x.y.z/foobar</url>
    ...
    <md5_cksum>123123123123</md5_cksum>
    <nbytes>134423</nbytes>
    <max_nbytes>200000</max_nbytes>
    <status>1</status>
    [ <generated_locally/> ]
    [ <executable/> ]
    [ <upload_when_present/> ]
    [ <sticky/> ]
    [ <signature_required/> ]
    [ <no_delete/> ]
    [ <report_on_rpc/> ]
</file_info>

The elements are as follows:
表格元素说明如下:

name
The file's name, which must be unique within the project. If you want to use participant hosts on which filenames are case-insensitive (e.g. Windows) this uniqueness is case-insensitive.
文件名,这个文件名必须独特,即对于不同的项目,最好设置为不同的文件名。如果您希望使用参与者的对文件名大小写不敏感的计算机系统(例如 Windows),那么对文件名的唯一性也不敏感。

url
a URL where the file is (or will be) located on a data server.
URL 表示数据服务器中文件存放的路径。

md5_cksum
The MD5 checksum of the file.
文件的 MD5 校验码。

nbytes
the size of the file in bytes.
文件的大小。以 byte 为单位。

max_nbytes
The maximum allowable size of the file in bytes (may be greater than 2^32). This is used to prevent flooding data servers with bogus data.
文件最大允许存储空间,以 byte 为单位(可能超过 2^32)。这样设置可以防止泛洪式数据或虚假数据与服务器通信。

status
0 if the file is not present, 1 if the file is present, or a negative error code if there was a problem in downloading or generating the file.
0 表示文件暂时不存在,1 表示文件已存在,或者由于密码错误而使得下载或产生文件过程中产生错误。

generated_locally
If present, indicates that the file will be generated by an application on the client, as opposed to being downloaded.
如果存在,则文件将由应用程序产生,而不是下载新的文件。

executable
If present, indicates that the file protections should be set to allow execution.
如果存在,则文件保护将设置为允许执行。

upload_when_present
If present, indicates that the file should be uploaded when the application finishes. The file is uploaded even if the application doesn't finish successfully. API functions are available for uploading files prior to finishing computation.
如果存在,则文件应该再应用程序处理完毕后被上传。即是是应用程序在处理该包过程中出错,文件依然被上传。API 函数处理上传文件的过程比结束计算的过程要优先。

sticky
If present, indicates that the file should be retained on the client after its initial use.



未完........................................................

评分

参与人数 2基本分 +120 维基拼图 +80 收起 理由
BiscuiT + 120 + 60
霊烏路 空 + 20

查看全部评分

回复

使用道具 举报

发表于 2006-3-30 19:53:49 | 显示全部楼层
// 2楼的翻译问题不少,重新翻译了一下。

http://boinc.berkeley.edu/project.php

Projects and applications
Last modified 11:54 PM UTC, January 13 2006

A project is a group of one or more distributed applications, run by a single organization, that use BOINC. Projects are independent; each one has its own applications, databases and servers, and is not affected by the status of other projects.

项目就是某个组织利用 BOINC 平台来运行的一组分布式应用程序。项目是独立的;每一个项目都有它自己的计算程序,数据库和服务器,并且不会受到其他项目进展的影响。

Each is identified by a master URL, which refers to an XHTML document describing the project.

每个项目都可以通过一个主网址来确认,这个主网址引用了一份描述这个项目的 XHTML 文档。

Creating projects is relatively easy. An organization can create projects to do Alpha and Beta testing of applications. Testers can register for these projects, in addition to or instead of the organization's public project.

创建项目相对来说是简单的。一个组织可以创建多个项目来进行应用软件的 Alpha 和 Beta 测试。测试人员可以注册这些项目,无论它会不会参加正式运行的项目。

The components of a project are shown below. Those in blue are the ones that are provided as part of the BOINC package. Those in off-white are the parts that you must write yourself, in order to BOINC-enable your own application.

下图描述了一个项目应该包含的组件。其中蓝色的组件由 BOINC 软件包提供。而白色部分是需要你自己来写的,这样你的计算程序才能运行在 BOINC 平台上。



The server side of a project consists of two parts:

项目的服务端包括两部分:

1、A project back end that supplies applications and work units, and that handles the computational results. Input and output files are distributed by data servers, which are HTTP servers able to handle CGI programs with POST commands. These servers need not be owned or operated by the project. A project might, for example, recruit other organizations to donate network bandwidth by hosting data servers; data could be moved on tape between the project back end and the data servers.

项目后端,用来提供计算程序和任务包并处理计算结果。数据服务器负责分发输入输出文件,它是一种能够处理有 POST 命令的 CGI 程序的 HTTP 服务器。项目不需要拥有或操作这些服务器。比如,项目可以租用其它组织的数据库服务器并利用其网络带宽;数据可以通过磁带在项目后端和数据服务器之间进行交换。

2、A BOINC server complex that manages data distribution and collection.

BOINC 服务器组,用来管理数据的分发和收集。

The BOINC server complex includes the following components:

BOINC 服务器组包含下面内容:

1、One or more scheduling servers that communicates with participant hosts.

一台或多台与用户主机通信的调度服务器。

2、A relational database storing information about work, results, and participants.

一台存储任务包、计算结果和用户信息的关系数据库。

3、Utility programs and libraries that allow the project back end to interact with the server complex.

允许项目后端和服务器组进行交互的辅助程序和库文件。

4、Web interfaces for participants and developers.

供用户和开发人员使用的网络接口。

[ Last edited by Youth on 2006-4-1 at 14:38 ]

评分

参与人数 1维基拼图 +15 收起 理由
霊烏路 空 + 15

查看全部评分

回复

使用道具 举报

发表于 2006-3-31 12:12:34 | 显示全部楼层

修改意见:)

Low data/compute ratio
数据/计算比率低

Input and output data are sent through commercial Internet connections, which may be expensive and/or slow. As a rule of thumb, if your application produces or consumes more than a gigabyte of data per day of CPU time, then it may be cheaper to use in-house cluster computing.

输入和输出数据都是通过互联网来传送的,联网费用可能比较昂贵,传输速度也许比较缓慢。以我们的经验,如果在您的应用中 CPU 每运行一天都会产生或消耗大于 1GB 的数据量,那么使用室内的计算机集群计算可能会更便宜些。

Fault tolerance
容错性

A result returned from a public-resource computer cannot be assumed to be correct. Redundant computing can be used to reduce the error probability, but not all the way to zero. If your application relies on 100% correctness, you shouldn't use BOINC.

通过公众计算机处理后返回到服务器的结果包不能完全保证是正确的。虽然可以通过冗余计算的方法来降低错误率,但仍不能保证错误率为零。因此,如果您的应用项目要求返回结果 100% 的正确,那么 BOINC 并不适合您。


引用 碧城仙 在 2006-3-30 04:28 PM 时的帖子:
翻译 What applications are suitable for BOINC?  页面:http://boinc.berkeley.edu/parallelize.php

Which applications are suitable for BOINC?
什么样的应用项目适合使 ...

评分

参与人数 2基本分 +40 维基拼图 +25 收起 理由
BiscuiT + 40 + 20
霊烏路 空 + 5

查看全部评分

回复

使用道具 举报

发表于 2006-3-31 15:30:40 | 显示全部楼层
http://boinc.berkeley.edu/platform.php

Platforms
Last modified 8:50 PM UTC, March 20 2006

Goals

The computers available to a public-resource computing project have a wide range of operating systems and hardware architectures. For example, they may run many versions of Windows (95, 98, ME, 2000, XP) on many processors variants (486, Pentium, AMD). Hosts may have multiple processors and/or graphics coprocessors.

目标

公共资源计算项目所能使用到的计算机在操作系统和硬件架构上千差万别。比方说,处理器可能是486,奔腾或是AMD的芯片,Windows的版本可能是95,98,ME,2000,XP等。主机可能有多个处理器或是图形协处理器。

BOINC addresses the following goals:

BOINC 试图达到如下的目标:

Resource heterogeneity. It should be easy for projects to allow many types of hosts to participate.

资源的多样性。它使得使用多种类型的计算机都可以参加一个或多个项目。

Simplicity. The combinatorial explosion of versions and architectures should be excluded from the internals of BOINC.

简洁。版本和架构的多样性不应该影响到 BOINC 的内核。

Accounting. Enough architectural information should be stored on the server so that statistics can be broken down according to specific features.

记录。服务器上应该存储足够的架构信息以允许针对某些特性进行分类统计。

Design

A platform is a compilation target. A set of platforms is maintained in the BOINC database of each project. Each platform has a name and a description of the range of architectures it can handle. Each BOINC program (core client and application) is linked to a platform.

设计

每个平台都是一个编译目标。每个项目的 BOINC 数据库都维护了一组平台。每个平台有一个名字和一个对它所处理的架构范围的描述。每个 BOINC 程序(客户端内核和计算程序)都对应着一个平台。

At the minimum, a platform is a combination of a CPU architecture and an operating system. Examples might include:

一个平台至少应该是一种CPU架构和一种操作系统的组合。举例如下:

name description
windows_intelx86 Microsoft Windows (95 or later) running on an Intel x86-compatible processor
linux_x86 Linux running on an Intel x86-compatible processor
macos_ppc Mac OS 9.0 or later running on Motorola PowerPC
sparc_solaris Solaris 2.1 or later running on a SPARC-compatible processor

名字 描述
windows_intelx86 运行在 Intel 的 x86 兼容处理器上的微软公司的 Windows 操作系统(95或者更新的版本)
linux_x86 运行在 Intel 的 x86 兼容处理器上的 Linux 操作系统
macos_ppc 运行在摩托罗拉的 PowerPC 处理器上的苹果公司的 Mac OS 9.0 操作系统
sparc_solaris 运行在 SPARC 兼容处理器上的 Solaris 2.1 或更新的版本

The name of a platform should specify a particular version (e.g. of an OS) only if it uses features new to that version. For example, the platform sparc_solaris2.8 should apply to SPARC machines running Solaris 2.8 or greater.

如果平台在名字中指定了一个特定的版本(比如操作系统的版本),那它应该使用了那个版本中的新特性。比方说,平台 sparc_solaris2.8 应该使用在运行了2.8或更新版本的 Solaris 的 SPARC 机器上。

For simplicity, platforms are assumed to be mutually exclusive: i.e. an application for platform X is not assumed to work on a host running core client platform Y if X ≠ Y. The BOINC scheduling server will send work to a host only if there is an application version for the same platform.

简洁起见,我们假设平台是互斥的,也就是说,如果X和Y是两个不同的平台,那平台X上的计算程序应该不能和平台Y的客户端内核协同工作。BOINC 的调度服务器在分发任务包前会检查是否是同一平台的计算程序版本。

There should be as few platforms as possible. For example, suppose that there are both Solaris2.6 and Solaris2.7 platforms. Then any host running the Solaris2.6 core client will only be able to run Solaris2.6 applications. Application developers will have to create versions for both 2.6 and 2.7, even if they're identical.

平台的数目应该尽可能地少。比方说,假设现在有 Solaris2.6 和 Solaris2.7 平台。那么运行 Solaris2.6 客户端内核的用户将只能运行适用于 Solaris2.6 的计算程序,计算程序的开发人员将不得不分别为2.6和2.7创建两个版本的计算程序,即使它们是完全相同的。

Application optimization for specific architectures

针对特定架构优化计算程序

BOINC allows applications to exploit specific architectures, but places the burden of recognizing the architecture on the application.

BOINC 允许计算程序利用特定的计算机架构,而计算程序也必须负责识别这种架构。

In other words, if you want to make a version of your application that can use the AMD 3DNow instruction set, don't create a new windows_amd_3dnow platform. Instead, make a version for the windows_intelx86 platform that recognizes when it's running on a 3DNow machine, and branches to the appropriate code.

换句话说,如果你想构建一个能利用 AMD 的3DNow 指令集的计算程序,请不要创建一个新的 windows_amd_3dnow 平台。你应该在 windows_intel86 平台上构建一个可以自动判别是否运行在 3DNow 机器上并使用相应的程序的代码的版本。

Web-site statistics breakdown by architecture

针对架构的网站统计分类

BOINC collects architecture details about each completed result to allow detailed statistical breakdowns.

BOINC 会收集每一个完成的计算结果的架构信息,从而允许详细的统计信息分类。

First, the core client attempts to find the CPU vendor, the CPU model, the OS name, and the OS version. These are stored in the host record.

首先,客户端内核试图会识别CPU生产商,CPU型号,操作系统名称及版本等。这些都将保存在主机记录中。

Second, applications that recognize even more specific architecture information can pass it back to the core client using the boinc_architecture() function from the BOINC API. This passes a string (project-specific, but typically in XML) to the core client, which records it in the architecture_xml field of the result database record. For example, the application might pass a description like

<has_3dnow_instructions/>
<graphics_board>ATI Rage 64MB</graphics_board>

其次,能够识别特定架构信息的计算程序可以通过调用BOINC API中的 boinc_architecture() 函数来将信息传递给客户端内核。这样将会把一个字符串(其内容随项目不同而不同,一般是以XML格式)传递给客户端内核,而后者会将它记录在计算结果数据库记录的 architecture_xml 字段中。比如,计算程序可能会传递如下的描述:

This makes it possible, for example, to report average or total performance statistics for 3DNow hosts contrasted with other Intel-compatible hosts.

这样我们就可以得到 3DNow 主机的平均或总体计算能力,可以和 Intel 的兼容主机进行比较。

Avoiding platform anarchy
Each BOINC project is free to create its own platforms. To avoid anarchy, however, we recommend that platform creation and naming be coordinated by a single group (currently the SETI@home project at UCB).

防止平台的混乱

虽然各个项目可以创建它自己的平台,但为了避免混乱,我们建议由一个组织来对平台的创建和命名进行协调(目前这是由加州大学柏克利分校的 SETI@home 项目组来承担的)。

Tools
Platforms are maintained in the platform table in the BOINC DB, and can be created using the xadd utility.

工具
所有平台都在 BOINC 数据库的 platform 表中进行维护。可以使用 xadd 来进行创建。

[ Last edited by Youth on 2006-4-1 at 14:39 ]

评分

参与人数 1维基拼图 +20 收起 理由
霊烏路 空 + 20

查看全部评分

回复

使用道具 举报

发表于 2006-3-31 20:31:19 | 显示全部楼层
http://boinc.berkeley.edu/app.php

Applications and versions  
Last modified 8:39 AM UTC, November 26 2004  

计算程序和版本

An application represents a collection of related computation. It consists of a program (perhaps with versions for different platforms) and a set of workunits and results. A project can operate many applications. Applications are maintained in the application table in the BOINC DB, and can be created using the xadd utility.

计算程序包括和计算相关的一系列文件。它包括一个程序(可能不同平台的程序版本也不相同)和一些任务包以及计算结果。一个项目可以同时使用多个计算程序。计算程序在 BOINC 数据库的 application 表中进行维护,可以使用xadd来创建。

An application program may go through a sequence of versions. A particular version, compiled for a particular platform, is called an application version. An application version can consist of multiple files: for example, a controller script, pre- and post-processing programs, and a primary program.

计算程序的版本可以增加。针对某个特定平台的特定版本,称为一个计算程序版本。一个计算程序版本可以包含多个文件:比如,一个控制脚本,预处理及后期处理程序,以及一个主程序。

Each application version has an integer version number. Version numbers should be used consistently across platforms; Windows version 304 should be computationally identical to Mac version 304.

每个计算程序版本有一个用整数表示的版本号。不同平台的版本号应该是保持一致;Windows 平台上的304版本应该在计算上和 Mac 平台的304版本是完全相同的。

Each application has a minimum version. When a client is sent work for an application, it is also sent the latest application version for its platform. It is sent work only if this version is the minimum or greater.

每个计算程序都有一个最小版本。但客户端为计算程序接收新任务时,它同时也会接收它所在平台的最新计算程序版本,只有在这个版本不小于最小版本时才能接收到任务。 <- 这段没太明白....

Application versions are maintained in the app_version table in the BOINC DB. Each entry includes an XML document describing the files that make up the application version:

计算程序版本在 BOINC 数据库的 app_version 表中进行维护。每个条目中都包含一个 XML 文档,其中描述了构成这个计算程序版本的文件列表:

<file_info>
   ...
</file_info>
[ ... ]
<app_version>
    <app_name>foobar</app_name>
    <version_num>4</version_num>
    <file_ref>
        <file_name>program_1</file_name>
        <main_program/>
    </file_ref>
    <file_ref>
        <file_name>library_12</file_name>
    </file_ref>
</app_version>

Application versions can be created using update_versions.

计算程序版本可以使用update_versions来创建。

评分

参与人数 1维基拼图 +15 收起 理由
霊烏路 空 + 15

查看全部评分

回复

使用道具 举报

发表于 2006-3-31 20:58:57 | 显示全部楼层
http://boinc.berkeley.edu/result.php

Results  
Last modified 9:17 PM UTC, November 25 2004  

计算结果

A result describes an instance of a computation, either unstarted, in progress, or completed. Each result is described by an entry in the 'result' database table. A project does not explictly create results; rather, BOINC creates them automatically for workunits, based on the redundancy parameters of the workunit.

计算结果用来描述计算的情况,还未开始,正在计算,或是已经完成。每个计算结果都对应数据库中 result 表的一个条目。项目并不需要显式地创建计算结果,BOINC 将根据任务包的冗余参数自动为其创建计算结果条目。

The static attributes of a result include:

一个计算结果有如下静态属性:

name A text string, unique across all results in the project.
workunit name Identifies the associated workunit
output files A list of the names of the output files, and the names by which the application refers to them.

名称 一个字符串,在本项目的所有计算结果中是唯一的。
任务包名称 描述计算结果相关联的任务包
输出文件 一个输出文件的列表,以及计算程序引用这些文件时的名称。

A result has a dynamic attribute:

一个计算结果有如下动态属性:

server state Values include:
Inactive (not ready to dispatch)
Unsent (ready to sent to a client, but not sent)
In progress (sent, not done)
Done successfully
Timed out
Done with error
Not needed (work unit was finalized before this result was sent)

服务器状态,包括如下值:
非活动 (还未准备分发)
未发送 (准备发送到一个客户端,但还没有发送)
计算中 (已发送,还未完成)
成功完成
超时
错误完成
不需要 (在这个计算结果被发送前任务包已经终结)

Additional attributes are defined after the result is completed:

当计算结果已经完成,还定义了如下属性:

host The host that executed the computation
exit status The exit status (0 if success)
CPU time The CPU time that was used.
output file info The sizes and checksums of its output files
stderr The stderr output of the computation
received time The time when the result was received.

主机 执行这次计算的主机
退出状态 退出状态(如果成功的话就是零)
CPU 时间 所消耗的 CPU 时间
输出文件信息 输出文件的大小和校验码
标准错误输出 计算过程中的标准错误输出
接收时间 接收到这个计算结果的时间

评分

参与人数 1维基拼图 +15 收起 理由
霊烏路 空 + 15

查看全部评分

回复

使用道具 举报

发表于 2006-3-31 21:10:29 | 显示全部楼层
http://boinc.berkeley.edu/work.php

Workunits  
Last modified 7:07 PM UTC, March 24 2006  

任务包

A workunit describes a computation to be performed. It is represented by a row in the 'workunit' database table. BOINC provides a utility program and C function for creating workunits.

每个任务包都描述需要执行的一次计算过程。它对应数据库中 workunit 表中的一行。BOINC 提供一个辅助程序和C函数以用来创建任务包。

A workunit has several attributes that are specified when the workunit is created:

在任务包被创建时,它有如下几个属性会被指定:

name A text string, unique across all workunits in the project.
application Which application will perform the computation. A workunit is associated with an application, not with a particular version or range of versions. If the input data format changes in a way that is incompatible with older versions, you must create a new application. This can often be avoided by using XML data format.  
input files A list of the input files: their names, and the names by which the application refers to them.
priority Higher-priority work is dispatched first
batch An integer; can be used to operate (cancel, change priority etc.) on groups of workunits.

名称 一个字符串,在本项目的所有任务包中是唯一的。
计算程序 用来执行计算的计算程序。每个任务包都关联到一个计算程序,而不是一个特定的版本或一定范围内的版本。如果输入的数据格式变成与旧版本不兼容,你就必须创建一个新的计算程序。这种情况通常可以通过以 XML 作为数据格式来避免。
输入文件 一个输入文件的列表,它们的名称以及计算程序引用这些文件时的名称。
优先级 高优先级的任务包会更早地被分发
批次 一个整数;可以用来对一批任务包进行操作(取消,改变优化级等)。

Resource estimates and bounds

资源的估算和限度

rsc_fpops_est An estimate of the average number of floating-point operations required to complete the computation. This used to estimate how long the computation will take on a given host.
rsc_fpops_bound A bound on the number of floating-point operations required to complete the computation. If this bound is exceeded, the application will be aborted.
rsc_memory_bound A bound on the virtual memory working set size. The workunit will only be sent to hosts with at least this much available RAM. If this bound is exceeded, the application will be aborted.
rsc_disk_bound A bound on the maximum disk space used by the application, including all input, temporary, and output files. The workunit will only be sent to hosts with at least this much available disk space. If this bound is exceeded, the application will be aborted.

rsc_fpops_est 对完成计算所需要的平均浮点运算数的估计值。用来对特定主机上完成计算所需时间的进行估算。
rsc_fpops_bound 完成计算所需要的浮点运行数的限度。如果超过了这个限度,计算程序将被中止。
rsc_memory_bound 虚存中的工作集的限度。任务包只会被分发到至少具备这么多容量内存的主机上。如果超过了这个限度,计算程序将被中止。
rsc_disk_bound 计算程序使用的最大磁盘空间的限度,包括所有的输入输出及临时文件。任务包只会被颁发到至少具备这么多容量磁盘空间的主机上。如果超过了这个限度,计算程序将被中止。

Redundancy and scheduling attributes

冗余和调度属性

delay_bound An upper bound on the time (in seconds) between sending a result to a client and receiving a reply. The scheduler won't issue a result if the estimated completion time exceeds this. If the client doesn't respond within this interval, the server 'gives up' on the result and generates a new result, to be assigned to another client.

Set this to several times the average execution time of a workunit on a typical PC. If you set it too low, BOINC may not be able to send some results, and the corresponding workunit will be flagged with an error. If you set it too high, there may a corresponding delay in getting results back.

delay_bound 从将计算结果发送给客户端到收到回复的上限时间(以秒为单位)。如果预计的完成时间超过这个时间,调度程序将不会发送。如果客户端没有在这个时间范围内回复,服务端将放弃这个计算结果,并同时生成一个新的计算结果以分发给另外一个客户端。

一般将这个时间设置成几倍于任务包在主流的PC机上的平均执行时间。如果设置过低,BOINC 可能会无法发送一些计算结果,相应的任务包将被标记为错误。如果设置过高,要等到结果返回可能就需要更长的时间了。

min_quorum The minimum size of a quorum. Set this to two or more if you want redundant computing.
target_nresults How many results to create initially. This must be at least min_quorum. It may be more, to reflect the ratio of result loss, or to get a quorum more quickly.
max_error_results If the number of client error results exceeds this, the work unit is declared to have an error; no further results are issued, and the assimilator is triggered. This safeguards against workunits that cause the application to crash.
max_total_results If the total number of results for this workunit exceeds this, the workunit is declared to be in error. This safeguards against workunits that are never reported (e.g. because they crash the core client).
max_success_results If the number of success results for this workunit exceeds this, and a consensus has not been reached, the workunit is declared to be in error. This safeguards against workunits that produce nondeterministic results.

min_quorum 冗余度的最小值。如果您需要冗余计算,请设置成2或者更大。
max_error_results 初始创建多少计算结果。必须不小于 min_quorum。可以适当加大,以反映计算结果的丢失率,或者为了尽快地完成一次成功的冗余。
max_total_results 如果任务包的计算结果数目超过了这个值,任务包将被标识为出错。这可以减少那些永远不会有返回结果的任务包的影响(比如那些会使客户端崩溃的任务包)。
max_success_results 如果任务包的成功计算结果数目超过了这个值而且仍然没有达成一致,任务包将被标识为出错。这可以减少那些产生非确定性结果的任务包的影响。

A workunit has a dynamic attribute:

任务包有一个动态的属性:

error mask A bit mask of various error conditions:
WU_ERROR_COULDNT_SEND_RESULT: The BOINC scheduler was unable to send the workunit to a large number (~100) of hosts, probably because its resource requirements (disk, memory, CPU) were too large for the hosts, or because no application version was available for the hosts' platforms. In this case BOINC 'gives up' on the workunit.
WU_ERROR_TOO_MANY_ERROR_RESULTS: Too many results with error conditions (upload/download problem, client crashes) have been returned for this work unit.
WU_ERROR_TOO_MANY_SUCCESS_RESULTS: Too many successful results have been returned without consensus. This indicates that the application may be nondeterministic.
WU_ERROR_TOO_MANY_TOTAL_RESULTS: Too many total results have been sent for this workunit.

错误掩码 描述各种错误条件的位掩码:
WU_ERROR_COULDNT_SEND_RESULT:BOINC 调度服务无法将任务包发送给大量(100左右)的主机,可能因为主机无法满足资源需求(磁盘,内存,处理器)。或者没有适合主机的平台的应用程序版本。这时 BOINC 将“放弃”这个任务包。
WU_ERROR_TOO_MANY_ERROR_RESULTS:任务包已经返回了过多的错误结果(上传/下载问题,客户端崩溃)。
WU_ERROR_TOO_MANY_SUCCESS_RESULTS:返回了过多的不一致的成功结果。这表明计算程序可能是非确定性的。
WU_ERROR_TOO_MANY_TOTAL_RESULTS:任务包已经发送了过多的计算结果。

If any of these conditions holds, BOINC 'gives up' on the workunit and doesn't dispatch more results for it.

如果上面任何一个条件满足,BOINC 将“放弃”这个任务包,也不再发送更多它的计算结果。

[ Last edited by Youth on 2006-4-1 at 15:25 ]

评分

参与人数 1维基拼图 +25 收起 理由
霊烏路 空 + 25

查看全部评分

回复

使用道具 举报

发表于 2006-4-1 10:19:35 | 显示全部楼层
http://boinc.berkeley.edu/homogeneous_redundancy.php

Dealing with numerical discrepancies  
Last modified 9:32 PM UTC, February 21 2005  

处理数值差异

Most numerical applications produce different outcomes for a given workunit depending on the machine architecture, operating system, compiler, and compiler flags. For some applications these discrepancies produce only small differences in the final output, and results can be validated using a 'fuzzy comparison' function that allows for deviations of a few percent.

给定一个任务包,大多数数值计算程序的计算结果会依赖于计算机架构,操作系统,编译器,还有编译器标志位。对于一些计算程序这些差异只会导致最终输出的小变化,要对计算结果进行验证,可以使用“模糊比较”的方法,也就是说允许几个百分点的误差。

Other applications are 'divergent' in the sense that small numerical differences lead to unpredictably large differences in the final output. For such applications it may be difficult to distinguish between results that are correct but differ because of numerical discrepancies, and results that are erroneous. The 'fuzzy comparison' approach does not work for such applications.

而另外一些计算程序是发散的,即使是小的数值差异也会导致最终输出的不可预计的大差异。对于这些计算程序,很难判别计算结果是由于数值差异而有些不同但仍然是正确的,还是就是错误的。“模糊比较”的方法对这类计算程序不适用。

Eliminating discrepancies
One approach is to eliminate numerical discrepancies. Some notes on how to do this for Fortran programs are here

消除差异
一个解决方法是消除数值差异。如何对 Fortran 程序使用这种方法可以看这篇文章

Homogeneous redundancy
BOINC provides a feature called homogeneous redundancy to handle divergent applications. You can enable it for a project by including the line

<homogeneous_redundancy/>

in the config.xml file.

同类冗余
BOINC 提供了一个称之为同类冗余的特性来处理发散的计算程序。您可以在 config.xml 文件中包含如下行来为项目启用这个特性。

Alternatively, you can enable it selectively for a single application by setting the homogeneous_redundancy field in its database record.

或者,你也可以通过设置数据库记录的 homogeneous_redundancy 字段来有选择性地对单个计算程序启用此特性。

When this feature is enabled, the BOINC scheduler will send results for a given workunit only to hosts with the same operation system name and CPU vendor (i.e., the os_name and p_vendor fields of the host description). For example: if a result has been sent to a host of type (Windows XP, Intel), then other results of that workunit will only be sent to hosts of type (Windows XP, Intel).

If homogeneous redundancy is enabled, it may be possible to use strict equality to compare redundant results.

当这个特性被启用,BOINC 调度服务会将给定的任务包仅发送给那些具有相同的操作系统名称和 CPU 类别的主机(也就是主机描述中的 os_name 和 p_vendor 字段)。比如:如果一个计算结果被发送给一种主机类型(Windows XP,Intel),那这个任务包的其它计算结果也将只发送给这种类型的主机(Windows XP,Intel)。

评分

参与人数 1维基拼图 +15 收起 理由
霊烏路 空 + 15

查看全部评分

回复

使用道具 举报

发表于 2006-4-1 10:39:54 | 显示全部楼层
http://boinc.berkeley.edu/trickle.php

Trickle messages
Last modified 11:37 PM UTC, December 27 2004

触发消息
       
Trickle messages let applications communicate with the server during the execution of a workunit. They are intended for applications that have long work units (multiple days). Trickle messages may go in either direction: 'trickle up' messages go from application to server, 'trickle down' messages go from server to application. Typical uses of this mechanism:

触发消息允许计算程序在一个任务包的计算过程中与服务器进行通讯。主要用于那些有很大任务包(需要计算很多天)的计算程序。触发消息可以是双向的:“上触发”消息由计算程序发往服务器,“下触发”消息由服务器发往计算程序。这个机制的典型用途有:

    * The application sends a trickle-up message containing its current CPU usage, so that users can be granted incremental credit (rather than waiting until the end of the work unit).
    * The application sends a trickle-up message containing a summary of the computational state, so that server logic can decide if the computation should be aborted.
    * The server sends a trickle-down message telling the application to abort.
    * The server sends a trickle-down message containing the user's current total credit.

* 计算程序发送一个上触发消息,其中包含它当前使用的 CPU 时间,因此用户可以被增量地授予积分(而不是非得等到完成整个任务包)。
* 计算程序发送一个上触发消息,其中包含计算状态的概要,因此服务端可依此决定是否需要中止这个任务包。
* 服务器发送一个下触发消息,通知计算程序中止计算。
* 服务器发送一个下触发消息,其中包含用户的当前总积分。

Trickle messages are asynchronous and reliable. Trickle messages are conveyed in scheduler RPC messages, so they may not be delivered immediately after being generated.

触发消息是异步和可靠的。触发消息通过调度服务的远端过程调用(RPC)消息进行传递,因此它们可能不会在消息生成后立即就被发送。

To handle trickle-down messages, a project must include the line

<msg_to_host/>

in the configuration (config.xml) file.

要处理触发消息,项目必须在 config.xml 文件中包含如下行:

评分

参与人数 1维基拼图 +12 收起 理由
霊烏路 空 + 12

查看全部评分

回复

使用道具 举报

发表于 2006-4-1 11:29:47 | 显示全部楼层
http://boinc.berkeley.edu/work_distribution.php

Work distribution
Last modified 6:50 PM UTC, June 13 2005

任务分发

A host asks a project for work by including a

<work_req_seconds>X</work_req_seconds>

element in a scheduler RPC request message. This asks the scheduler to return enough work to keep all the host's processors busy for X seconds, given the host's typical usage (i.e. the fraction of time it's turned off or BOINC is suspended, and the other processes that it executes).

主机在向项目服务器请求任务时应该在对调度服务的远端过程调用请求消息中包含如下内容:
给定主机的典型用途(也就是关机或暂停 BOINC 的时间和运行 BOINC 的时候的比例),这将会请求调度服务返回足够主机处理器计算 X 秒钟的任务。

BOINC's work distribution policy addresses the (sometimes conflicting) goals of keeping hosts as busy as possible, while minimizing the impact of

    * Hosts that repeatedly return results with error outcomes, due to a host-specific problem.
    * Malicious participants who attempt to obtain multiple results of the same workunit, in an attempt to obtain unearned credit or have erroneous results accepted as correct.

BOINC 的任务分发策略会在让主机尽可能忙碌的同时,尽量减少如下问题的影响(有时候这两方面是矛盾的):

* 主机由于自身的问题不断地返回错误的计算结果。
* 恶意的用户试图为同一个任务包返回多个计算结果以获取不应得的积分,或者试图将错误的计算结果伪装成正确的结果。

Work distribution is constrained by a number of rules:

    * A result is sent only if an application version is available for the host's platform. If the application's min_version field is nonzero, the version number must at list this value.
    * A result is not sent if its disk or memory requirements are not met by the host.
    * A result is not sent if the estimated latency (based on the host's CPU speed and usage parameters) exceeds the workunit's latency bound.
    * A result is not sent if the project has specified a one result per user per workunit flag, and a result of the same workunit has already been sent to a host belonging to the same user.
    * A result is not sent if the project has specified a daily result quota per host, and the host has already been sent that many results.
    * A project can specify a limit on the number of results sent per RPC.
    * A result is not sent if homogeneous redundancy is enabled and another result of the same workunit has been sent to a different type of host.

任务分发受如下规则的约束:

* 计算结果仅发送给有可用的计算程序版本的主机平台。如果计算程序的 min_version 字段非零,那这个版本必须至少是这个值。
* 如果主机的磁盘或内存达不到要求,计算结果不会发送。
* 如果预计的完成时间(根据主机的处理器速度和使用参数)超过了任务包的完成时间限制,计算结果不会发送。
* 如果项目设定了one_result_per_user_per_wu(每用户每任务只能有一个计算结果)的标志,而且同一个任务包已经发送了一个计算结果给同一用户的某台主机,那计算结果不会发送。
* 如果项目设定了每台主机daily result quota(每日的计算结果限额),而且这台主机已经被发送了那么多的计算结果,那计算结果不会发送。
* 项目可以设定daily result quota(每一次远端过程调用中允许发送的计算结果数目限制)。
* 如果项目启用了同类冗余,而且同一个任务包的一个计算结果已经发送给了另一种不同的主机类型,那计算结果不会发送。

In general, the BOINC scheduler responds to a work request by enumerating unsent results from the database, filtering them by the above criteria, sending them to the host, and continuing until requested duration X is reached.

一般来说,BOINC 调度服务响应任务请求时会从数据库中枚举还未发送的计算结果,根据上面的标准进行过滤,发送给主机,直到请求中的时间 X 被满足。

For projects that have very large input files, each of which is used by many workunit, BOINC offers an alternative work distribution policy called locality scheduling.

对于那些输入文件非常大的项目,每个输入文件都可以用于多个任务包,BOINC 提供了另外一种任务分发策略,即局部调度

评分

参与人数 1维基拼图 +15 收起 理由
霊烏路 空 + 15

查看全部评分

回复

使用道具 举报

发表于 2006-4-1 15:40:02 | 显示全部楼层
http://boinc.berkeley.edu/redundancy.php

Redundancy and errors
Last modified 5:57 AM UTC, February 01 2005

冗余和错误

A BOINC 'result' abstracts an instance of a computation, possibly not performed yet. Typically, a BOINC server sends 'results' to clients, and the clients perform the computation and replies to the server. But many things can happen to a result:

计算结果是对计算实例的抽象,可能还没有被完成。一般来说,BOINC 服务器会发送“计算结果”到客户端,客户端会完成计算然后向服务器回复。但计算结果仍有很多可能性:

* The client computes the result correctly and returns it.
* The client computes the result incorrectly and returns it.
* The client fails to download or upload files.
* The application crashes on the client.
* The client never returns anything because it breaks or stops running BOINC.
* The scheduler isn't able to send the result because it requires more resources than any client has.

* 客户端正确完成并且返回了计算结果。
* 客户端虽然没有正确完成但仍返回了计算结果。
* 客户端在下载或上传文件的时候出错。
* 计算程序在客户端崩溃。
* 客户端永远不会返回任何结果因为它已经破坏或停止运行了 BOINC。
* 调度服务无法发送计算结果因为客户端达不到任务包的资源需求。

BOINC provides a form of redundant computing in which each computation is performed on multiple clients, the results are compared, and are accepted only when a 'consensus' is reached. In some cases new results must be created and sent.

BOINC 提供了一种冗余计算的形式,每次计算都在多个客户端上被执行,计算结果将进行比较,只有“一致”的计算结果才会被接受。有时候必须创建并发送新的计算结果。

BOINC manages most of the details; however, there are two places where the application developer gets involved:

    * Validation: This performs two functions. First, when a sufficient number (a 'quorum') of successful results have been returned, it compares them and sees if there is a 'consensus'. The method of comparing results (which may need to take into account platform-varying floating point arithmetic) and the policy for determining consensus (e.g., best two out of three) are supplied by the application. If a consensus is reached, a particular result is designated as the 'canonical' result. Second, if a result arrives after a consensus has already been reached, the new result is compared with the canonical result; this determines whether the user gets credit.
    * Assimilation: This is the mechanism by which the project is notified of the completion (success or unsuccessful) of a work unit. It is performed exactly once per work unit. If the work unit was completed successfully (i.e. if there is a canonical result) the project-supplied function reads the output file(s) and handles the information, e.g. by recording it in a database. If the workunit failed, the function might write an entry in a log, send an email, etc.

BOINC 管理了大多数底层的细节;然而仍有两处必须由计算程序开发人员来决定:

* 验证:此过程包含两个功能。首先,但足够数量(冗余度)的成功计算结果返回,它会比较这些结果,看它们是否“一致”。比较计算结果的方法(可能需要考虑不同平台在浮点算术上的差异)和决定结果是否一致的策略(比如三个里面挑两个)都是由计算程序提供的。如果结果一致,一个特定的计算结果会被指定为“规范的”计算结果。其次,如果一个计算结果在一致达成之后被返回,新的计算结果将与规范的计算结果进行比较;这用来决定该用户是否可以得到积分。
* 回收:此机制用来将一个任务包已经完成的消息通知给项目。每个任务包仅执行一次。如果任务包成功完成(也就是说有一个规范的计算结果)项目提供的函数将读取输出文件并处理相关信息,比如将它记录在数据库。如果任务包无法完成,此函数可能会在日志文件中写一个条目,或者发送一封电子邮件等等。

In the following example, the project creates a workunit with

在随后的例子中,项目创建了一个任务包,其相关属性分别是:

min_quorum = 2
target_nresults = 3
max_delay = 10

BOINC automatically creates three results, which are sent at various times. At time 8, two successful results have returned so the validator is invoked. It finds a consensus, so the work unit is assimilated. At time 10 result 3 arrives; validation is performed again, this time to check whether result 3 gets credit.

BOINC 会自动创建三个计算结果,分别在不同的时间被发送。在时间为8时,两个成功的计算结果已经返回,验证器被调用。它确认了结果的一致,因此任务包将被回收。在时间为10时,第三个计算结果返回;再次执行验证过程,这次是检查第三个计算结果是否可以得到积分。

time        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14

            created                          validate; assimilate
WU          x                                x  x
                created sent            success
result 1        x       x---------------x
                created sent                success
result 2        x       x-------------------x
                created     sent                    success
result 3        x           x-----------------------x

In the next example, result 2 is lost (i.e., there's no reply to the BOINC scheduler). When result 3 arrives a consensus is found and the work unit is assimilated. At time 13 the scheduler 'gives up' on result 2 (this allows it to delete the canonical result's output files, which are needed to validate late-arriving results).

在下一个例子中,第二个计算结果丢失了(也就是 BOINC 调度服务没有收到回复)。当第三个计算结果到达,一致性被确认,任务包被回收。在时间为13时,调度服务“放弃”了第二个计算结果(然后规范计算结果的输出文件就可以删除了,这本来是用来验证晚到达的计算结果的)。

time        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14

            created                                  validate; assimilate
WU          x                                        x  x
                created sent            success
result 1        x       x---------------x
                created sent    lost                            giveup
result 2        x       x--------                               x
                created     sent                    success
result 3        x           x-----------------------x

In the next example, results 2 returns an error at time 5. This reduces the number of outstanding results to 2; because target_nresults is 3, BOINC creates another result (result 4). A consensus is reached at time 9, before result 4 is returned.

在下一个例子中,第二个计算结果在时间为5的时候返回了一个错误。这样仍未完成的计算结果数目就是两个了;因为 target_nresults 是3,BOINC 将创建另一个计算结果(第四个计算结果)。在时间为9的时候一致性被确认,这时第四个计算结果还没有返回。

time        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14

            created                              validate; assimilate
WU          x                                    x  x
                created sent            success
result 1        x       x---------------x
                created sent    error
result 2        x       x-------x
                created     sent                success
result 3        x           x-------------------x
                                 created     sent           success
result 4                         x   x----------------------x

[ Last edited by Youth on 2006-4-1 at 16:53 ]

评分

参与人数 2基本分 +200 维基拼图 +145 收起 理由
BiscuiT + 200 + 120
霊烏路 空 + 25

查看全部评分

回复

使用道具 举报

发表于 2006-4-1 16:56:53 | 显示全部楼层
这部分文档还有两篇,先预定一下,因为都比较长,慢慢翻译了:)

http://boinc.berkeley.edu/security.php
http://boinc.berkeley.edu/sched_locality.php
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2024-4-26 06:18

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表