回 帖 发 新 帖 刷新版面

主题:(非计算机系学生)如何入门篇(9)---病毒---从第一个生物到网络生存

病毒:就是程序,程式
有多种形式
           蠕虫病毒:只是存在于开着的机器里(存在于内存里)依赖网络的存在
                     借助安全的“漏洞”从一个电脑到另一个电脑
                     实例:“冲击波”
http://www.cs.virginia.edu/csnews/show.php?artID=248
[url=http://www.cs.virginia.edu/csnews/show.php?artID=248]http://www.cs.virginia.edu/csnews/show.php?artID=248[/url]

From Artificial Intelligence to Artificial Biology?
From Technology Review
October 26, 2003

    By Claire Tristram

For decades we’ve thought of computers as centralized intelligences; our model was the human brain. But lately, a growing number of researchers have been talking about a shift in the core metaphor for computing, from the notion of “artificial intelligence” to something that might be called “artificial biology.” Forget about the dream of creating bug-free software. Just as bugs regularly affect any biological system—I have a cold as I write this—they should also be expected in software. So software needs to be designed to survive the bugs. It should have the biological properties of redundancy and regeneration: parts should be able to “die off” without affecting the whole.

This shift is not only transforming the research of leading academic groups at places like Stanford University, the University of California, Berkeley, and the University of Virginia but also influencing the development of commercial products: IBM and Oracle have both introduced products such as Web servers and database programs that they describe as “self-healing,” a term typically applied to biological organisms. In 2001 Paul Horn, head of IBM Research, wrote a widely read white paper describing the notion of “autonomic computing” and calling on the computing research community to begin thinking of ways to design systems that could anticipate problems and heal themselves.

The point of autonomic computing—and by extension, of self-healing software—is to give networks and computer systems the ability to regulate and repair things that now require human thought and intervention. For example, servers need to be rebooted now and then to keep them working. That can happen because of “memory leaks” created by software bugs, explains Steve White, who heads up IBM’s autonomic-computing research from the T. J. Watson Research Center in Hawthorne, NY. “A program will take up more and more memory to run,” he says, “so eventually it breaks. Start over, and it will work.” At the moment, users need to recognize problems themselves and physically reboot their systems. But with autonomic computing, “You can make it possible to reboot a system easily and automatically,” says White.

In the future, the biological metaphor may even affect the way we program to begin with. Software could eventually “heal” some of its own bugs, supplementing catch-all fixes—like automatic rebooting—that don’t get at the core problem. But that will require an entirely new approach to programming.

“We need to move towards a programming philosophy where we look at the global system and understand what properties it needs to have, rather than thinking about programming as a sequence of instructions,” says David Evans, who is pursuing biologically inspired programming methods as a computer science professor at the University of Virginia. “It’s really a different way of approaching problems.”

Evans notes that software today is written linearly, with each step depending on the previous one, more or less guaranteeing that bugs will wreak havoc: in biological terms, organisms with no redundancy don’t survive long if one means of accomplishing a task fails. More robust software would include many independent components so that it will continue to work even if several of its components fail.

Even today, programs such as Microsoft’s Windows XP operating system are beginning to exhibit the biologically inspired ability to detect problems and to fix them, albeit in a simple way, by storing models of their original configurations. The programs can then be restored to their original states if bugs corrupt them later. And good compilers—the programs that translate human-readable languages into machine-readable code—will identify potential errors and return error messages along with suggested fixes. But these methods still require programmers to predict problems and write code that guards against them to begin with—and we predict flaws in our software about as well as Dr. Frankenstein predicted the flaws of his artificial man.

How close have we come to writing software that, like the human body, can identify and correct problems we haven’t thought of?

“We haven’t developed anything that is very persuasive yet for healing unanticipated conditions,” says Tom DeMarco, longtime software pundit and principal with the Atlantic Systems Guild, an international software training and consulting group. “You have to remember that software doesn’t break. It is flawed to begin with. So for software to self-heal, you have to find a way to have the program create things that were not there when the program was written.

“We’ll get there someday.”
[url=http://www.cs.virginia.edu/csnews/show.php?artID=248]http://www.cs.virginia.edu/csnews/show.php?artID=248[/url]

回复列表 (共3个回复)

沙发

计算机发展几十年了,虚拟的时空把人们聚在一起。
一个系统构成一个环境,没有变化死一般的寂静那也没什么意思。
什么是生物,虚拟的时空也是一个生存的环境。
现在计算机的网络世界将提供一个24小时的生存环境,这里是bit的世界。
数据,程式成为它的草木。

在很久以前人类从低等的微生物走来,现在计算机的虚拟环境中,
提供一种生存环境,

病毒----在有机体内存在,繁殖。
计算机病毒----造成系统的故障,行可以通过媒体传播。

就像所有的事物都具有两面性,既然存在为什么不可以给这种存在下一个
定义?我说的人工智能。

可以生长的机器,自我完善的系统,自我学习的系统,是现在研究的前沿。

是的我希望它一直在那,自我完善,自我繁殖,甚至发展不受控制。
我想这种东西很很快就能被人开发出来,通过网络环境在人们还没察觉的
时候已经不可绝除和控制。


它的构成会是各种数据方式,和不同的技术程式,依赖硬件机器和软体环境
人们出于不同的目的造就了它,现在又因为它的存在而感到恐慌。

技术的发展可以使它更加适应于这个计算机的世界,网络的发展扩展了它的
生存空间,不管你愿不愿意,这个生物已经存在了,它与计算机的使用者在一起
可能现在它就在你的硬盘中或者任何媒体中,甚至就在你的系统的一个或多个进程
里。

在不远的将来系统越来越大越来越坚固,它也将变得越来越适应这个生存的空间
没什么,可以杀死它,它也可以安然的与系统共存,最终脱离“上帝之手”。
网络的发展随着技术的文明而进化,所有的事物东趋向于

---无序--有序--无序--无序---

周而复始的发展轨迹

首先它可能是恶性的病毒,破坏生存的空间,但就像现实世界的病毒一样,很低等
但是将来会有一种良性的“自由程式”但它同样不受任何系统限制,甚至与任何程式
抗衡达到一种“生态的平衡”

它使一种生物只是没有肉体形态,但它可能已经存在你的机器你,但也可能
只存在于一个构思中但是技术的发展已经是它成为可能,它的雏形只是一个出现
只是一个时间问题了

未来的系统将是由成千上万的子系统构成的庞大结和互动环境,无法“重装”但可以
自我生长,和修复,但正因为如此他才是不可控的。

现在网络几乎是不可控的了。

拭目以待巴!

板凳

现在做人工智能的都想马上模拟出人的思维,他们是否应该考虑从模拟低等生物开始?

3 楼



任何机器都可以成为网络虚拟机器的一个”运算细胞“并且任何计算机
都可以得到比自身更大的计算能力和海量的信息,并且数据安全不干扰

通过加入的网络计算机,松散的构成一个虚拟的计算机,不受任何一台主机的
限制,并不存在一个实际的可独立的机器,机器只有加入细胞网络才能进行计算
和处理运算

表面类似早期的多用户系统,但是这个多任务主机并不存在,只是所有“细胞群”
的一种动态体现

一开始几台机器参与运行这个系统,分散系统运行资源,虚拟机器进程游历在任何机器之上,功能将由于运行的进程的增加任何人都可以使用存在于,它之上的进程的功能,常用的进程将永远被激活而不使用的进程将自动死亡,

这个系统将由于细胞机器的无限制增长而无限的繁殖,数据将处于一种游离状态
也许初期会存在数据的存储逐渐风险将被分担到无限的小的状态

想想,数亿细胞的系统,即使有数百万台故障影响将微乎其微,

实际上将不存在任何机器,软件将同机器抗衡并且凌驾于任何硬件之上
很多的硬件功能将被简化,细胞机器将是一种器件,提供扩展的细胞生长的
手段

计算和资源将是无限的,许多以前的辣手问题将迎刃而解,同时将提出新的更加
棘手的问题,

社会交流结构将会有一个很大变化,可能最终现在的硬件将被更加适应这种
环境的材料代替,生物机器将更加适合提供无限生长的运算能力,只要增加
细胞数量就可以提高机器的能力。




———————复旦大学智能信息处理开放实验室 版权所有———————————————————
浅谈网格计算基础

中科院计算所 李伟

     网格技术的产生、发展必须具备以下三个基本条件:计算资源的广域分布、网络技术(特别是Internet)以及不断增长的对资源共享的需求。在计算机技术发展的早期阶段,只有很少数量的大型计算机,它们通常被安装在相互独立的计算中心内,多个计算机用户通过使用终端来共享一台大型机的资源,但却不能同时共享多台大型机的计算资源。随着网络技术的发展,多台大型计算机可以在局域网(LAN)内互连,用户通过网络便可以同时使用多台计算机的资源。而 Internet的飞速发展和普及使得网格计算技术的产生成为可能。图1显示了计算资源共享的发展过程。

图1 计算资源共享的发展

系统构成

    网格系统可以分为三个基本层次:资源层、中间件层和应用层。
    网格资源层是构成网格系统的硬件基础,它包括各种计算资源,如超级计算机、贵重仪器、可视化设备、现有应用软件等,这些计算资源通过网络设备连接起来。网格资源层仅仅实现了计算资源在物理上的连通,但从逻辑上看,这些资源仍然是孤立的,资源共享问题仍然没有得到解决。因此,必须在网格资源层的基础上通过网格中间件层来完成广域计算资源的有效共享。
    网格中间件层是指一系列工具和协议软件,其功能是屏蔽网格资源层中计算资源的分布、异构特性,向网格应用层提供透明、一致的使用接口。网格中间件层也称为网格操作系统(Grid Operating System),它同时需要提供用户编程接口和相应的环境,以支持网格应用的开发。
    网格应用层是用户需求的具体体现。在网格操作系统的支持下,网格用户可以使用其提供的工具或环境开发各种应用系统。能否在网格系统上开发应用系统以解决各种大型计算问题是衡量网格系统优劣的关键。最近两年,在美国的高性能计算研究领域,网格计算成为非常引人注目的热点。与此同时,企业界也纷纷推出了各自的产品,但到目前为止,仍有相当多的关键技术还有待突破。


三大挑战
    网格计算要真正步入实用阶段必须解决以下三大问题:
1. 体系结构设计
    从第一台计算机出现到现在,计算机体系结构已经发生了一系列变化,经历了大规模并行处理系统、共享存储型多处理器系统、群集系统等各个发展阶段,这些系统的共性是构成系统的资源相对集中。与此相反的是,组成网格系统的资源是广域分散的,不再局限于单台计算机和小规模局域网范围内。网格计算的最终目标是用网上的多台计算机构成一台虚拟的超级计算机,因此,网格系统的体系结构是我们必须首先解决的问题。简言之,网格系统有哪些组成部分、组成部分之间的关系以及如何协同工作是网格体系结构研究需要解决的问题。
2. 操作系统设计
    伴随着计算机体系结构的发展,计算机操作系统也经历了一系列发展变化,总的发展趋势是如何更高效、更合理地使用计算机资源。网格操作系统是网格系统资源的管理者,它所管理的将是广域分布、动态、异构的资源,现有操作系统显然无法满足这一需求。
3. 使用模式设计
    网格使用模式解决的是如何使用网格超级计算机的问题。在现有的操作系统上,计算机用户可以使用各种软件工具来完成各种任务。而在网格环境下,用户可能需要通过新的方式来利用网格系统资源。因此,在网格操作系统上设计开发各种工具、应用软件是网格使用模式研究需要解决的关键问题。


研究现状
    在国外,最著名的网格计算研究是美国的Globus项目。该项目的主要研究目标有两个:其一是网格技术的研究;其二是相应软件的开发和标准的制定。同时,Globus项目还涉及到网格应用的开发及试验床的建立。最近,Globus项目提出了网格的体系结构模型(图2)。
网格体系结构主要分为以下几个部分:
● 网格结构层(Grid Fabric) 提供资源相关、站点相关的基本功能,便于高层分布式网格服务的实现;
● 网格服务层(Grid Services) 实现资源无关和应用无关的功能,网格服务的实现涉及到地域和机构的分布;
● 网格应用工具层(Grid Application Toolkits) 提供更为专业化的服务和组件用于不同类型的应用;
● 应用层(Application) 由用户开发的应用系统组成,网格用户可以使用其他层次的接口和服务完成网格应用的开发。
    我国对网格计算的研究起步较晚,相关工作开始于1998年。由于网格计算是一项刚起步的研究,因此我们在网格计算关键技术的研究方面与国外差距不大,基本处于相同的起跑线上。目前,我国的网格计算研究主要集中于中科院计算所、国防科大、江南计算所、清华大学等几家在高性能计算方面有较强实力的研究单位。这些单位在高性能计算研究方面有很好的技术积累和很强的科研能力。其中,中科院计算所在高性能计算领域的主要成果是曙光3000超级服务器,其他单位的主要成果有银河巨型机、同方探索机群系统等。
    从1999年底到2001年初,中科院计算所联合国内十几家科研单位,共同承担了“863”重点项目——“国家高性能计算环境(National High Performance Computing Environment,简称NHPCE)”的研发任务。该项目的目标是建立一个计算资源广域分布、支持异构特性的计算网格示范系统,它把我国的8个高性能计算中心通过Internet连接起来,进行统一的资源管理、信息管理和用户管理,并在此基础上开发了多个需要高性能计算能力的网格应用系统,取得了一系列研究成果。


网格计算


---- Internet的产生与发展,对人们的思维方式、工作模式以及生活理念都产生了巨大的影响与冲击。以E-mail为主要应用的第一代Internet把遍布于世界各地的计算机用TCP/IP协议连接在一起; 第二代Internet则通过Web信息浏览及电子商务应用等信息服务,实现了全球网页的连通; 第三代Internet将“试图实现互联网上所有资源的全面连通,包括计算资源、存储资源、通信资源、软件资源、信息资源、知识资源等”,这就是网格计算(Gird Computing)。

---- 网格计算是构筑在Internet上的一组新兴技术,其基础设施一定是基于IP协议的宽带数字通信网络,它将改变传统的Client/Server和 Client/Cluster结构,形成新的Pervasive/Grid体系结构,这种体系结构将使得用户把整个网络视为一个巨大的计算机,并从中享受一体化的、动态变化的、可灵活控制的、智能的、协作式信息服务。目前,网格计算不仅在学术界、研究领域进行着深入的研究与实验,同时也得到了来自产业界诸如IBM、HP、Microsoft、NTT、Intel、SGI和Sun等各大公司的巨资支持与商业应用开发。

---- 网格计算系统一般由网格硬件、网格操作系统、网格界面、网格应用4层基本结构构成,其最突出的特点是资源共享、协同工作和开放性标准。也正因为如此,网格计算目前研究发展的主要障碍便是标准协议的建立和体系结构的确定。

---- 网格计算虽然致力于高速互联网、高性能计算机、大型数据库、远程设备等连通和“一体化”,但网格计算的根本特征应该是资源共享而不是规模巨大,完全可以根据需要建造企业内部网格、局域网网格、家庭网格和个人网格,因此网格计算的应用将非常广泛:卫星图像的快速分析、先进芯片的设计、生物信息科学研究、超级视频会议、制造业的设计与生产、电子商务、数字图书馆及一般的商务应用。此外,开发新的应用、集成现有应用、消除信息及资源孤岛也将成为网格计算责无旁贷的任务。

---- 我们看到在2001年网格计算的概念已被众多的国内外媒体所关注,2002年它的发展将会引起世人更多的重视。

什么是网格计算


    随着超级计算机的不断发展,它已经成为复杂科学计算领域的主宰。但以超级计算机为中心的计算模式存在明显的不足,而且目前正在经受挑战。超级计算机虽然是一台处理能力强大的“巨无霸”,但它造价极高,通常只有一些国家级的部门,如航天、气象等部门才有能力配置这样的设备。而随着人们日常工作遇到的商业计算越来越复杂,人们越来越需要数据处理能力更强大的计算机,而超级计算机的价格显然阻止了它进入普通人的工作领域。于是,人们开始寻找一种造价低廉而数据处理能力超强的计算模式,最终科学家们找到了答案———Grid Computing(网格计算)。

    网格计算是伴随着互联网而迅速发展起来的,专门针对复杂科学计算的新型计算模式。这种计算模式是利用互联网把分散在不同地理位置的电脑组织成一个 “虚拟的超级计算机”,其中每一台参与计算的计算机就是一个“节点”,而整个计算是由成千上万个“节点”组成的“一张网格”,所以这种计算方式叫网格计算。这样组织起来的“虚拟的超级计算机”有两个优势,一个是数据处理能力超强;另一个是能充分利用网上的闲置处理能力。

    实际上,网格计算是分布式计算(Distributed Computing)的一种,如果我们说某项工作是分布式的,那么,参与这项工作的一定不只是一台计算机,而是一个计算机网络,显然这种“蚂蚁搬山”的方式将具有很强的数据处理能力。今年年中,NTTData计划与Intel和SGI联合进行一项为期三个月的网格计算试验,届时将有包括家庭、企业和学术机构的100万台计算机相联,其总处理能力将比现有的最快的超级计算机还要快五倍。

    充分利用网上的闲置处理能力则是网格计算的有一个优势,网格计算模式首先把要计算的数据分割成若干“小片”,而计算这些“小片”的软件通常是一个预先编制好的屏幕保护程序,然后不同节点的计算机可以根据自己的处理能力下载一个或多个数据片断和这个屏幕保护程序。于是“演出开始了”,只要,节点的计算机的用户不使用计算机时,屏保程序就会工作,这样这台计算机的闲置计算能力就被充分地调动起来了。

    这种“蚂蚁搬山”式的计算式的网格计算,看似普通,但却有过及其出色的表现。1999年,SETI@HOME项目是网格计算的一个成功典范。该项目在1999年初开始将分布于世界各地的200万台个人电脑组成计算机阵列,用于搜索射电天文望远镜信号中的外星文明迹象。该项目组称,在不到两年的时间里,这种计算方法已经完成了单台计算机345000年的计算量。可见,这种“蚂蚁搬山”式的分布式计算的处理能力十分强大,正所谓 “泰山不辞抔土,故能成其大”。

    网格计算不仅受到需要大型科学计算的国家级部门,如航天、气象部门的关注,目前很多大公司也开始追捧这种计算模式,并开始有了相关“动作”。

    “蓝色巨人”IBM正在构筑一项名为“Grid Computing”的计划,旨在通过因特网,向每一台个人电脑提供超级的处理能力。IBM公司副总裁、也是这项计划的总设计师欧文·伯杰说,“Grid Computing”是一种整合电脑资源的新手段,它通过因特网把分散在各地的个人电脑连接起来,不仅可使每台个人电脑通过充分利用相互间闲置的电脑能源,来提升各自的电脑处理能力,还可使成千上万的用户在大范围的网络上共享电脑处理功能、文件以及应用软件。正如网络技术总是从科学开发领域转向企业商务领域一样,我们也希望看到‘Grid Computing’能取得这样的进展。

    另一个业界巨人SUN也推出新软件促进网络计算的发展。2001年11月,Sun推出了Sun Grid Engine企业版5.3版软件的β版,继续提升它的网络技术计算水平。该软件自一年前推出以来, Sun Grid Engine 5.2.3版软件的用户已经增长了20倍。今天,全球有118000多颗CPU都是采用Sun Grid Engine软件管理的。

    除此之外,一批围绕网格计算的软件公司也逐渐壮大和为人所知并成为受到关注的新商机,如:Entropia、Avaki、Noemix、Data Synapse等等。有业界专家预测,网格计算将成为2002年网络市场发展的热点。据《ForbesASAP》预测,网格技术将在2005年达到高峰,并带来因特网的新生。如果网格技术能促使市场按预期的17%年增长率持续成长的话,那么在2020年将会形成一个年产值20万亿美元的大产业。

复旦大学智能信息处理开放实验室 版权所有

我来回复

您尚未登录,请登录后再回复。点此登录或注册