article no. PC981466 Adaptive Virtual Cut-Through as a Viable Routing Method 1
- 格式:pdf
- 大小:414.08 KB
- 文档页数:14
zwallocatevirtualmemory 参数-回复ZWAllocateVirtualMemory是Windows操作系统中的一个API函数,用于在用户态进程的虚拟地址空间中分配内存。
本文将详细介绍ZWAllocateVirtualMemory函数的参数和作用,以及一步一步回答与其相关的问题。
1. ZWAllocateVirtualMemory的函数原型是什么?NTSTATUS NTAPI ZWAllocateVirtualMemory(HANDLE ProcessHandle, 指定进程的句柄PVOID *BaseAddress, 分配的内存的起始地址ULONG_PTR ZeroBits, 必须被清零的低位数PSIZE_T RegionSize, 分配的内存的大小ULONG AllocationType, 内存分配类型ULONG Protect 内存保护属性);2. ZWAllocateVirtualMemory函数的参数具体是什么含义?- ProcessHandle:指定进程的句柄,用于指定在哪个进程的虚拟地址空间中分配内存。
可以通过OpenProcess或CreateProcess等函数获取进程句柄。
该参数对应于ZwAllocateVirtualMemory内核函数中的ProcessHandle参数。
- BaseAddress:分配的内存的起始地址。
传入一个指向指针的指针,函数将返回分配的内存的起始地址。
如果BaseAddress为NULL,则由系统自动分配。
该参数对应于ZwAllocateVirtualMemory内核函数中的BaseAddress参数。
- ZeroBits:必须被清零的低位数。
该参数指定希望从分配的起始地址开始多少位必须为零。
通常将其设置为0。
该参数对应于ZwAllocateVirtualMemory内核函数中的ZeroBits参数。
- RegionSize:分配的内存的大小。
修改虚拟机BIOS,给虚拟机安装OEM版的系统出于各种需要,很多朋友都安装了Microsoft Virtual PC或VMware等虚拟机软件,这样可以安全试用各种最新的操作系统和应用软件,不会影响到原有系统的稳定性。
一、修改Virtual PC虚拟机BIOS由于Virtual PC已于2003年被微软收购,因此软件与更名为Microsoft Virtual PC,它的优势是内存占用小,与操作系统的兼容性强。
通过修改虚拟机BIOS信息中的OEM字符,这样就可以安装OEM版本的Windows XP实现免激活了。
1. 需要准备的工具软件(1)Microsoft Virtual PC 2004(2)ResScope:这是一个类似于eXeScope的软件资源分析和编辑工具,功能已超过eXeScope。
(3)MMTool:这是一款可以对AMI BIOS文件添加或删除相应模块的小工具软件(Microsoft Virtual PC虚拟机的BIOS正好是AMI的),不需要安装,解压后直接运行即可。
2. 备份主文件在操作之前,我们首先需要备份Microsoft Virtual PC安装目录中的Virtual PC.exe文件,这样万一修改时出现什么问题可以将其恢复回去。
3. 获取BIOS源文件用ResScope打开Virtual PC.exe,左侧定位到“BIOS”资源,左侧找到13500 选择“文件→导出资源”菜单命令将编号为13500的资源导出为bios.rom文件,注意文件名的后缀必须是.rom,这样才能被MMTool所打开。
4. 导出BIOS的OEM模块运行MMTool程序,切换到“Power MMTool”模式,执行“Load ROM”命令载入刚才导出的BIOS文件:bios.rom。
在列表中可以看到各个模块的编号、大小、百分比等信息,由于我们主要的目的是修改OEM信息,因此选择06 DMI这个模块,在“Extract”标签页中将该模块从BIOS文件中分离出来,注意导出为未压缩格式的文件(In uncempressed from),例如命名为dmi.rom,不要立即关闭MMTool程序。
关于计算机的英文文献写作范文摘要全文共10篇示例,供读者参考篇1Title: All About ComputersHey guys! Have you ever wondered how computers work and why they are so important in our daily lives? In this article, we will dive into the fascinating world of computers and learn all about their history, functions, and impact on society.First off, let's talk about the history of computers. Did you know that the first computer was invented in the early 20th century? It was a huge machine that took up an entire room! But over the years, computers have become smaller, faster, and more powerful. Nowadays, we have laptops, tablets, and smartphones that can fit in the palm of our hands.So, what do computers actually do? Well, they can process information, store data, and perform calculations at incredible speeds. This allows us to do all sorts of cool things like play video games, surf the internet, and communicate with people all over the world.But computers aren't just for fun and games – they also play a crucial role in many industries like healthcare, education, and business. For example, doctors use computers to analyze medical images and diagnose diseases, while teachers use them to create interactive lessons for their students.In conclusion, computers are an essential part of our modern world and they have revolutionized the way we live, work, and play. So the next time you turn on your computer, remember how amazing this technology is and how lucky we are to have it in our lives. Let's give a big shoutout to all the brilliant minds who have made computers possible!篇2Once upon a time, there was a magical invention called a computer. It can do all kinds of cool things like playing games, watching videos, and even helping with homework!Computers are made up of many parts, like the screen, keyboard, and mouse. They also have something called a CPU, which is like the brain of the computer. It helps the computer think and do all the things we want it to do.One important thing about computers is that they can store lots of information. This is called memory. Without memory, thecomputer wouldn't be able to remember all the things we tell it to do.Another cool thing about computers is that they can connect to the internet. The internet is like a giant web that connects all the computers in the world. We can use it to find information, talk to our friends, or even play games with people from other countries!In conclusion, computers are amazing inventions that help us in so many ways. From helping with homework to connecting us with people around the world, computers have made our lives easier and more fun. Let's all give a big round of applause to the wonderful world of computers!篇3Title: Let's Learn About ComputersHey guys! Have you ever wondered how computers work? Well, I'm here to tell you all about it! Computers are super cool machines that can do all sorts of things, like play games, surf the internet, and even help with homework. But how do they actually work?First off, computers have a bunch of different parts that all work together to make them run. There's the CPU, which is like the brain of the computer, the motherboard, which holds all the other parts in place, and the hard drive, which stores all your files and pictures. And let's not forget about the keyboard and mouse, which help you control the computer.But how does all this stuff actually work? Well, when you type something on the keyboard or click the mouse, it sends a signal to the CPU. The CPU then processes that signal and sends it to the motherboard, which tells the other parts of the computer what to do. It's like having a bunch of little helpers inside the computer, all working together to make sure everything runs smoothly.And did you know that computers can do math really fast? That's because they use something called binary code, which is just a bunch of ones and zeros. By combining these numbers in different ways, computers can do all sorts of calculations in the blink of an eye.So next time you're playing a game or doing homework on the computer, remember all the cool stuff that's going on behind the scenes. Computers may seem like magic, but with a little bitof knowledge, you can understand how they work and maybe even become a computer whiz yourself!篇4Computer is a super cool thing in our life! It can help us do so many things, like playing games, watching movies, and even doing homework! In this article, we are going to talk about the history of computers, how they work, and some fun facts about them.First of all, do you know when the first computer was invented? It was actually a long time ago, in the 1940s! Back then, computers were huge machines that took up whole rooms. But now, we have laptops and smartphones that are much smaller and faster.So, how does a computer work? Well, it has a brain called a central processing unit (CPU) that does all the thinking and calculations. It also has memory to store information and input devices like keyboards and mice to help us give commands.There are also different types of computers, like desktops, laptops, tablets, and smartphones. Each of them has its own features and uses. For example, desktops are great for work and gaming, while laptops are good for when we are on the go.Did you know that the first computer bug was actually a real bug? Back in the 1940s, a moth got stuck in a computer and caused it to malfunction. That's why we now call any glitch in a computer system a "bug"!In conclusion, computers are amazing inventions that have changed the way we live and work. They are constantly evolving and becoming more powerful. So next time you use a computer, remember how far technology has come and how much more it can do in the future!篇5Computer is a super cool machine that can do a lot of fun and useful stuff! It has a super fast brain called a processor, and it can store a lot of information in its memory. We can use computers to play games, watch videos, do homework, and even talk to our friends online.There are different parts of a computer, like the monitor, keyboard, mouse, and CPU. The monitor is like a TV screen where we can see what the computer is doing. The keyboard helps us type words and numbers, while the mouse lets us click on things on the screen. The CPU is where all the magic happens – it's like the computer's brain!Computers can also connect to the internet, which is like a super big library with all the information in the world. We can use the internet to search for things, watch videos, play games, and even talk to people from far away. It's really cool how computers can help us learn and have fun at the same time.In conclusion, computers are amazing machines that can do so many things to help us in our daily lives. From playing games to doing homework to connecting with friends online, computers have become an essential part of our lives. We should all be grateful for the technology that allows us to use computers and make our lives easier and more enjoyable. Thank you, computers, for being so awesome!篇6Today I want to talk about something super cool and exciting - computers! Computers are amazing machines that can do so many things to help us in our daily lives. In this article, we will explore the history of computers, how they work, and some of the amazing things they can do.Computers have come a long way since they were first invented. Did you know that the first computer was as big as a room and could only do simple calculations? Now we havecomputers that can fit in the palm of our hands and can do things like play games, send emails, and even help us with our homework.But how do computers actually work? Well, computers are made up of many different parts, like the motherboard, CPU, and hard drive. These parts all work together to process information and carry out tasks. When you type on the keyboard or click the mouse, the computer sends this information to the CPU, which then processes it and sends it back to the screen so you can see the result.Computers can do so many amazing things, like help scientists discover new things, help doctors save lives, and even help us connect with people all over the world. They are truly incredible machines that have changed the way we live our lives.In conclusion, computers are an essential part of our lives and have revolutionized the way we do things. From simple calculations to complex tasks, computers have come a long way and will continue to shape our future. So next time you use a computer, remember how amazing and powerful it is!篇7Title: Computers: The Magical MachinesHey guys! Let's talk about computers today! Computers are like magic machines that can do all sorts of cool things. They can help us play games, do homework, watch videos, and even chat with our friends. Isn't that super awesome?First of all, let's talk about what a computer actually is. A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. It has a bunch of parts like a keyboard, a monitor, a mouse, and a CPU (Central Processing Unit). All these parts work together to make the computer run smoothly.Next, let's chat about how computers work. When we type something on the keyboard or click the mouse, the computer sends all that information to the CPU. The CPU then processes that information and sends it to the monitor, so we can see what we're doing on the screen. It's like a big dance party inside the computer!Now, let's talk about the different types of computers. There are personal computers (PCs) that we use at home or school, laptops that we can take with us anywhere, and even super powerful computers called supercomputers that can do really complex tasks really fast. It's amazing how many different kinds of computers there are!In conclusion, computers are truly magical machines that have changed the way we live and work. They help us do so many things and make our lives easier in so many ways. So next time you're using a computer, remember how incredible it is and how lucky we are to have such amazing technology at our fingertips. Yay for computers!篇8Computers are super cool things that can do a lot of awesome stuff! They can help us play games, do homework, and even talk to our friends online. But do you know how computers work and who invented them? Let me tell you all about it!The first computers were really big and took up a whole room! They were invented a long time ago by some super smart people who wanted to help with really hard math problems. Over time, computers got smaller and faster, and now we have laptops and smartphones that we can carry around with us.Computers are made up of a bunch of parts like the CPU, motherboard, RAM, and hard drive. They all work together to help the computer run smoothly and do all the things we need it to do. When we type on the keyboard or move the mouse, the computer uses these parts to figure out what we want it to do.We can also use programs and apps on the computer to do different things like make art, write stories, or even code our own games! It's so much fun to explore all the things computers can do and learn how to use them in new and exciting ways.So next time you turn on your computer or tablet, remember all the amazing things it can do and how lucky we are to have such cool technology to help us learn and puters are awesome, and I can't wait to see what new things they can do in the future!篇9Title: Let's Talk About Computers!Hey guys! Today I want to talk to you all about computers. Computers are super cool machines that can do so many things, like play games, watch videos, and even help us do our homework. They have different parts like the monitor, keyboard, mouse, and CPU. The CPU is like the brain of the computer, it helps it run smoothly and do all the things we ask it to.Computers also have something called software, which is like all the programs and apps we use on it. We can use software to write documents, edit photos, or even make music. There are so many cool things we can do with computers!But do you know how computers actually work? Well, inside the CPU there are tiny electronic parts called transistors. These transistors help the computer process information quickly and efficiently. Computers also use something called binary code, which is a series of 0s and 1s that the computer understands. It's like a secret language that only computers can understand!So next time you use a computer, remember all the cool things it can do and how it works behind the scenes. Computers are amazing machines that help us in so many ways. Let's keep exploring and learning about them together!篇10Hello everyone, today I want to talk about computers! Computers are super cool machines that can help us do all kinds of things like play games, do homework, and even talk to our friends far away. In this article, I will share some fun facts and information about computers.First of all, did you know that the first computer was as big as a room? Isn't that crazy? Nowadays, our computers can fit in our pockets or even on our wrists like a watch. Computers have become smaller and faster over the years, thanks to amazing technology.Computers have different parts that work together to make them run. There is the central processing unit (CPU) that acts as the brain of the computer, the hard drive where we store all our files and games, and the monitor where we can see everything. It's like a big puzzle that needs all the pieces to work properly.We can use computers for so many things. We can do research for school projects, watch videos on YouTube, or even make our own art using cool programs. The possibilities are endless with a computer by our side.But we also need to be careful when using computers. We should always ask our parents for permission before going online and never share personal information with strangers. It's important to stay safe and responsible when using technology.In conclusion, computers are amazing machines that have changed the way we live and learn. They help us in so many ways and make our lives easier. So next time you use a computer, remember to appreciate all the hard work and technology that goes into making it run smoothly. Thank you for reading and happy computing!。
解决笔记本安装XP蓝屏及SATA硬盘无法使用AHCI模式解决笔记本安装XP蓝屏及SATA硬盘无法使用AHCI模式一客户拿了一个华硕A8SR笔记本过来,想把原来的预装vista操作系统改为winxp。
最新的vista虽然画面更加华丽了。
安全强大了。
可有些软件的兼容性问题。
winxp还是挺受欢迎。
客户刚来的时候我同事以为安装系统没有什么问题。
就索性上来就把人家的硬盘全格。
按照自己的喜好分了n分区。
使用屡试不爽的ghost版系统盘。
开机按个数字就自己看电影去了。
等了一会ghost完后系统自动重启,以前进入winxp安装的画面变成了蓝屏。
显示什么0x0000007B 的信息。
同事以为是光盘问题。
换了好几版本ghost盘。
最后让顾客等的不耐烦的情况下。
没办法了。
给我打电话(一个修显示器的同事。
接触电脑不是太长时间。
在店里面工作5个月左右时间)。
让我过去看看。
讨论下问题。
我过去一看。
蓝屏代码了解了下情况。
想到了一个月前去一个客户家没有安装成的情况。
那顾客是老板一个朋友。
也是这样的情况。
只不过那是 sony的一款笔记本。
我去的时候本来可以挖掘出点东西,我去的时候问了下那个顾客帮他弄电脑的那人。
他说打过sony客户电话了。
sony的工程师说是要在安装系统前加载硬盘微码驱动。
需要软驱安装。
要我找个软驱。
一种先入为主的思想使得我没有多加考虑就认定需要软驱。
所以那次没有替人家搞好就回来了。
可这次不同。
是同事把别人vista都搞坏了。
店里面好象还没有 vista的盘。
不搞好。
没法给顾客交代。
搜索了好半天也没有找到个华硕的微码驱动。
没择了。
只好想到了。
华硕的接线工程师。
详细咨询了下。
他们说可以装winxp。
只是A8SR的winxp的驱动没有全部提供。
还说了要修改bios的设置。
解决办法是进入BIOS,找到SATA设置项,一般在Config项中,将SATA模式改为Disable或是Compatible Mode(兼容模式),各个BIOS版本不同具体的选项也不尽相同,但一般为两项,进入后选择与当前项不同的另一项即可。
电脑不好的地方英语作文Title: Shortcomings of Computers。
In the contemporary digital age, computers have become an indispensable part of our daily lives, revolutionizing how we work, communicate, and entertain ourselves. However, despite their numerous advantages, computers also possess several drawbacks that warrant careful consideration.First and foremost, one prominent issue with computers is their proneness to technical glitches and malfunctions. Despite significant advancements in technology, computers remain susceptible to viruses, software bugs, and hardware failures. These issues can disrupt productivity, lead to data loss, and incur costly repairs or replacements. Moreover, the rapid pace of technological innovation often renders older computer models obsolete, necessitating frequent upgrades to keep pace with evolving software requirements.Furthermore, the ubiquitous use of computers has given rise to concerns regarding privacy and security. In an interconnected world, where sensitive personal andfinancial information is stored and transmitted electronically, the risk of unauthorized access, identity theft, and cyber-attacks looms large. Malicious hackers exploit vulnerabilities in computer systems to steal data, disrupt services, or extort money from unsuspecting users. Despite efforts to bolster cybersecurity measures, theever-evolving nature of cyber threats poses an ongoing challenge for individuals, businesses, and governments alike.Additionally, the widespread reliance on computers has led to a host of social and psychological issues. Excessive screen time and sedentary behavior associated withprolonged computer use can contribute to physical ailments such as eye strain, repetitive strain injuries, and obesity. Moreover, the pervasive influence of digital media andonline platforms has been linked to mental health issues such as anxiety, depression, and social isolation, particularly among impressionable youths. The incessantbarrage of notifications, emails, and social media updates can exacerbate feelings of overwhelm and contribute to a sense of disconnection from the real world.Another concern regarding computers is their environmental impact. The production, usage, and disposal of electronic devices contribute to pollution, resource depletion, and electronic waste (e-waste) accumulation. The extraction of raw materials for computer components, such as rare earth metals and plastics, often involves environmentally destructive practices. Furthermore, the energy consumption associated with powering and cooling vast data centers contributes to carbon emissions and exacerbates climate change. Efforts to mitigate the environmental footprint of computers, such as energy-efficient design, recycling initiatives, and responsible disposal practices, are imperative to minimize their ecological consequences.In conclusion, while computers offer unparalleled convenience, efficiency, and connectivity, they are not without their shortcomings. From technical vulnerabilitiesand privacy concerns to social and environmental impacts, the widespread adoption of computers necessitates a nuanced understanding of their implications. As we continue to embrace digital technologies in our daily lives, it is imperative to address these challenges proactively through innovation, regulation, and responsible usage practices. Only by acknowledging and mitigating the drawbacks of computers can we fully harness their transformative potential for the betterment of society.。
未来电脑发展英语作文(中英文实用版){z}Title: The Future of Computer DevelopmentIn the rapidly evolving world of technology, computers have become an integral part of our daily lives.From smartphones to laptops, and from desktop computers to supercomputers, computers have transformed the way we live, work, and communicate.As we continue to move forward, the question arises: what does the future of computer development hold?One area where we can expect significant advancements is in the field of quantum computing.Quantum computing harnesses the strange properties of quantum mechanics to perform calculations at speeds far beyond the capabilities of traditional computers.Quantum computers have the potential to solve complex problems that are currently intractable, such as factoring large numbers, simulating complex quantum systems, and optimizing complex logistics networks.Another area of future development is in the field of artificial intelligence (AI).AI has already begun to transform computer systems, from virtual assistants to self-driving cars.In the future, we can expect computers to become even more intelligent, with the ability to learn, adapt, and make decisions on their own.This will have profound implications for a wide range of fields, from healthcare to finance, and from education to manufacturing.Furthermore, we can expect computers to become more compact and energy-efficient.As technology advances, we are able to pack more computing power into smaller and smaller devices.This will lead to the development of wearable computers, implantable computers, and even nanoscale computers that can be ingested or injected into the body.These advancements will revolutionize fields such as medicine, healthcare, and personal technology.In conclusion, the future of computer development is looking bright.With advancements in quantum computing, AI, and miniaturization, we can expect computers to become more powerful, intelligent, and integrated into our daily lives.As we move forward, it is important to continue to invest in research and development to push the boundaries of what is possible in the world of computer technology.。
虚拟机Microsoft Virtual PC教程及简单设置讲解这是新年的第一主题帖大家新年好曾经发了一贴原创家庭组网解决方案貌似没什么人气就不想发帖了。
所以很久截的软件介绍下VirtualPC2007SP1 简称 VPC它能够让你在一台 PC 上同时运行多个操作系统,使用它你不用重新启动系统,只要件后不用对硬盘进行重新分区或是识别,就能够非常顺利地运行你已经安装的多个操vpc对unix、linux等支持不是很好,所以不推荐此虚拟机安装unix、linux。
前段试windows的可以试试。
VMware 功能强大但是过于臃肿,一般用户没必要使用。
一VPC下载地址:/downloa ... &displaylang=enMicrosoft Virtual PC 2007 SP1 汉化语言包说明安装完成后,启动Microsoft Virtual PC,选取File(文件)-Options(选项)-Language(语言)-Simplified Chinese(简体中文)即可,关闭VPC 再次打开就是中文界面了。
适用于Microsoft Virtual PC 2007 SP1汉化文件源自于互联网Sound Blaster 16 声卡驱动程序for windows 2003解决VPC安装windows 2003 无声卡驱动的问题,也适用一些精简版的系统。
问题回复引用第13楼hsir于2009-01-02 00:59发表的 :附件下载收藏后解压....已经被破坏了,无法使用。
文件没有问题,请重试下载引用第19楼lenooooo于2009-01-02 22:39发表的 :我一直想弄的但你说对LINUX不怎么支持。
但对苹果的不知道支持的怎么样主要表现在安装过程中,鼠标可能会无法动弹无法进行安装,但是有些linux是可以安装的引用第27楼dnvcupid于2009-01-05 15:25发表的 :怎么就没有中文版的引用第39楼良民668于2009-01-08 10:43发表的 :楼主辛苦了,先顶在看,怎么不用中文版的教啊汉化文件装完即为中文,因为汉化文件在弄好截图后才偶然在网上看见的引用第40楼mm274221533于2009-01-08 11:01发表的 :虚拟机在网吧里上不了网,文件都拖不进去,55555555,怎么连局域网也连不进去,怎么解决啊使用拖动功能需要安装虚拟机附加组件,你有安装吗?关于网络可能是网吧有限制的,比如MAC地址限制等引用第70楼vip68989958于2009-02-12 17:43发表的 :LZ 这是怎么回事呀?进不了BOOS设置.郁闷很.........................关于这个问题,应该算是vpc的一个bug吧,在第一次bios保存设置后可能会出现这种情况(第一启动变为网络启动),请在左上角的“action” 选择重启快速按"delete" 进入bios 设置后再保存退出,就不会出现这种情况引用第93楼落烟云于2009-03-05 14:14发表的 :跟着装了下,完全成功,就是卸载后我发现原来的XP系统出现了三个严重漏洞,怎么回事啊?有些是关于虚拟机必要组件msxml6-KB933579-chs-x86你打上补丁就好了,没什么影响引用第133楼171312828于2009-07-10 17:07发表的 :LZ 按照你给的地址下了可是安装的时候和你图上面不一样啊因为本人不会英文怕设置搞错了就取消了我改咋办呢下载下来的是安装程序,需要先安装按next(下一步),安装完后才配置虚拟机的。
Virtual Books:Integrating Hypertext and Virtual RealityMaster’s Thesis of Jouke C. VerlindenGraduation Committee:prof. dr. H.G. Solir. C.A.P.G. van der Mastdr. Jay David Bolter (GVU Center, Georgia Tech)dr. James D. Foley (GVU Center, Georgia Tech)ir. B.R. SodoyerDelft University of Technology, Faculty of Technical Matematics and Informatics, HCI group.August 1993.Abstract“Think of computers as a medium, not as a tool” - Alan Kay in “The Art of User Inter-face Design”, 1989.Virtual Reality technology gives us new ways to represent information, based on spatial dis-play and multisensory interactivity. At present both commercial products and scientific re-search in VR create and explore relatively simple environments. These environments are often purely perceptual: that is, the user is placed a in world of color and shape that represents or re-sembles the “real” world. Objects (tables, doors, walls) in these environments have no deeper semantic significance.The Virtual Books project is an exploration of introducing semantics into three-dimensional space, by inclusions and manipulation of information, based on traditional writing technolo-gies (e.g. printed books) and the emerging electronic books (hypertexts, hypermedia etc.) Printed books often combine pictures and text. Hypermedia integrates texts with graphics, an-imation, video, and audio. Our goal is to extend these existing techniques of integration so that we can deploy text or other information in three dimensions and allow for effective interaction between the writer/reader/user and the text. We believe that this approach will provide solu-tions to prominent problems in the fields of hypertext and Virtual Reality. Four prototypes were developed to illustrate our ideas: The Georgia Tech Catalog, the Textured Book, the V oice Annotation System, and the World Processor. Silicon Graphics workstations with both immersive and non-immersive Virtual Reality technology were employed. To implement the prototypes, two software libraries were made (the bird and the SVE library); they facilitate easy creation and reuse of virtual environments. This project was done at the Graphics, Visual-ization, and Usability (GVU) Center, Georgia Tech, Atlanta, U.S.A. My advisor was dr. Jay David Bolter, professor in the School of Literature, Communications, and Culture.PrefaceAlmost 10 months of work are lying behind me. They seemed to have last a lifetime, that will come to an sudden end within a few days. Moreover, the project is the final step towards ob-taining my Master’s Degree in Computer Science -- a “project” that lasted 5 years! That means I can only say:The project has died, long live the project!Together with another Dutch exchange student, Anton Spaans, I have lived in Atlanta (Geor-gia, USA) for about eight months. We were both temporary members of the Graphics, Visual-ization, and Usability Center at the Georgia Institute of Technology. Daily (and nightly) we worked with advanced computer systems, faculty, and graduate students. These inspired me to do what I did and to pursue a further career in R&D. During my stay, I was also involved in various other activities, including the Apple Design Contest, the spatial audio research, and 3D algorithm visualization. And, of course, the band and the movie committee.It was a fascinating stay that taught me a lot. Not just about science or user interfaces: in those eight months I was a member of american society. A society in which the artificial has become natural -- a society that sells “I Can’t Believe it’s not Butter”™ and where the slogan “Just Add Water..” seems to be ubiquitous.AcknowledgmentsThe Dutch often say American friendships are superficial. Not in my experience: the people I met in Atlanta, Chapel Hill, Palo Alto, and so many other places turned out to be good friends. It is impossible to thank them all, even if I had ten months time to do so. I thank all people who made may stay as it was, and those who supported me during this unforgettable time. Es-pecially:Jay Bolter, my advisor at the GVU Center. His enthusiastic and open-minded approach made the project what it became. He treated me as a companion, not as a student. Yet he taught me so much...Jim Foley, for giving me the opportunity to come to his extraordinary lab and for putting me on the right track by introducing me to Jay.Joan Morton was an angel. She helped us whenever it was needed and did so many other things for the exchange students. Larry Hodges, who tolerated my work on “his” machines and introduced me to many other computer graphics researchers.Charles van der Mast, my advisor at the Delft University of Technology, who made this possi-ble. Without knowing him, I probably would not have ended up working abroad. Furthermore, he patiently awaited my results and provided me with suitable criticism.Daryl Lawton for bringing us to the fattest and fanciest dinner places. Mimi Recker, who ad-vised me during the usability tests. David Burgess and Beth Mynatt for distracting me from my actual project and involving me in their remarkable work.And of course all the GVU “Rats”, including: Jack Freeman, Jasjit Singh, Wayne Woolton, James O’Brien, Joe Wehrli, Heather Pritchett, Tom Meyer, Augusto op den Bosch, Anton Spaans, Mary-Ann Frogge, Jerome Salomon, Todd Griffith, Thomas Kuehme, Krishna Barat and all the others..The participants of the tests: Robert Hamilton (who I met again a month ago in Amsterdam), Gary Harrison, David Hamilton, and the eight students of Stuart Moultrop’s technical writing class.Dan Russell, who was my indespicable host at Xerox PARC. And of course the graduate stu-dents at UNC; especially Russell Taylor, who gave me the opportunity to have a look in the kitchen of the world famous Virtual Reality lab and introduced me to his friends Stephan, Rich, and John.The other members of the band: Tim, Ted and Mike. It was great to start a musical conversa-tion with you, guys!Dimitri, once a student and now a married engineer, who helped me tremendously during the last (and critical) days.My family and friends in holland, who didn’t forget me (even when I forgot them..) And fi-nally, I thank the one who supported me and had to deal with my stress during this long period that didn’t seem to end: Simone.Table of ContentsAbstract (1)Preface (2)Acknowledgments (3)1.Introduction (7)1.1Project8 1.2Environment9 1.2.1GVU Center 9 1.2.2Jay David Bolter 101.3Report112.Problem Analysis (12)2.1Background 1: Hypertext13 2.1.1Short (Hi)story of Media 13 2.1.2Hypertext 17 2.1.3Problems 21 2.2Background 2: Virtual Reality23 2.2.1Introduction 23 2.2.2Survey 24 2.2.3Problems with current Virtual Reality systems. 26 2.3Virtual Books: Integrating Hypertext and Virtual Reality28 2.3.1Proposal 28 2.3.2Related Research 282.3.3Requirements and Constraints 303.Functional Design (31)3.1Spatial Authoring concepts32 3.1.1Concepts of Hypertext environments 32 3.1.2Virtual Reality concepts 33 3.1.3Virtual Books Concepts 34 3.2Functionality36 3.3Presentation issues37 3.3.1Representation of hypertextual structure. 37 3.3.2Navigation and the representation of links. 37 3.3.3Representation of information. 38 3.3.4Virtual Reality issues. 38 3.4prototypes40 3.4.1Catalog 40 3.4.2Textured Book 42 3.4.3Voice Annotation System. 433.4.4World Processor 454.Technical Design (51)4.1Platform524.1.1Hardware 52 4.1.2Software Support 53 4.2Prototypes59 4.2.1The Catalog 59 4.2.2The Textured Book 59 4.2.3Speech Annotation System 594.2.4World Processor 595.Implementation and Evaluation (61)5.1The Catalog62 5.2Textured Book64 5.3Voice Annotation System67 5.4World Processor696.Conclusions and Future Research (71)6.1Conclusions and Results72 6.2 Future Research74Bibliography (77)Appendix A: PapersAppendix B: Prototypes ListAppendix C: Manuals of the Software LibrariesAppendix D: User’s Manual of the World ProcessorAppendix E: Voice Annotation testsAppendix F: A short report about my trip to Xerox and UNC1. IntroductionThe Master’s program of informatics at the Delft University of Technology requires a research project of six to nine months, with a thesis as result. Fortunately, through the contacts of Charles van der Mast (Delft University of Technology) with James Foley (Georgia Institute of Technology) I had the opportunity to work with prof. Jay David Bolter at the Graphics, Visual-ization and Usability Center in Atlanta, U.S.A., during a period of eight months. We explored our mutual interests in virtual reality, hypertext, writing and media. This Master’s thesis is considered to be the final, but certainly not the only result of our cooperation: 4 faculty reports and several videoclips were made as well.In the first months, october and november, we tried to formulate the Virtual Books Project as clear as possible. At the same time, I developed and implemented general GVU demonstra-tions for the Virtual Reality equipment. This equipment was recently purchased and just un-packed. In december, prof. Bolter went to Milan to give a keynote speech at ECHT’92, called “Virtual Reality and Hypertext”. A month later, I had the unexpected opportunity to visit three interesting research laboratories: the Virtual Reality lab at the university of North Carolina, Chapell Hill, the Xerox Palo Alto Research Center (PARC) and the world famous M.I.T. Me-dia Lab in Boston.By that time, I finished working on the lower-level software support (the bird- and the SVE-li-brary) and began to develop two complex Virtual Book-prototypes: the Voice Annotation sys-tem and the World Processor. Exploratory user tests were conducted during march and april. Both prototypes seemed interesting enough to start writing two separate papers on them, one has recently been accepted to the European Simulation Symposium (ESS ‘93), to be held on october 25-28, 1993 at the Delft University of Technology in the Netherlands.During the last month in Atlanta (may ‘93), I expanded the SVE- library and updated its docu-mentation in cooperation with Drew Kessler. One of the additions enables relatively easy tex-ture mapping, which was used in the last prototype called the Textured Book. After my return to Holland in june, I proceeded with writing this thesis and finishing the ESS ‘93 paper.1.1ProjectInitially, the project did not have distinct objectives. Jay Bolter and I introduced the term “Vir-tual Book”, which represented our interest in the exploration of Virtual Reality as a medium -a medium that could be used to communicate and structurize information in new ways. We fo-cused on some of the shortcomings of today’s upcoming electronic media: Hypertext and Vir-tual Reality.Hypertext and hypermedia are considered to be the new avenues in textual and reflective com-munication. These so-called “electronic books” have great perspectives. Their potential is in-creasing every day due to growing infrastructures and computing power. At the same time, these communication channels threaten the efficient and effective use of information. These disadvantages are often summarized as “information overload”. I will unravel this problem in several parts including 1) the getting lost in information space problem 2) the cognitive task switching problem. It will be argued that such problems are related to the limitations of the ap-plied metaphors and interaction techniques, that did not change significantly since the late six-ties.On the other hand, the sensory illusion of television, movies and computer games seem to be upgraded by the ultimate form of visual and engaging media:Virtual Reality. Virtual Reality is considered to be the most interactive medium of the future. The techniques involved generate three-dimensional environments that maximize the naturalness of the user interface - by three dimensional direct manipulation and perceptual immersion. Although the quality of the im-ages and devices has improved since its introduction in 1968, its theoretical potential did not change. The user is placed in a world of color and shape that represents or resembles the real world. Objects (tables, doors, walls) in these environments have no deeper semantic signifi-cance. This makes Virtual Reality a poor medium for symbolic communication.This project explores the integration of the traditional electronic books and virtual reality. Printed books often combine pictures and text. Hypermedia integrates texts with graphics, an-imation video and audio. Our goal is to extend these existing techniques of integration so that we can deploy information in three dimensions and allow for effective interaction between the writer/reader/user and the information. We think this synergetic approach will solve some of the most prominent problems in both fields, e.g. the “getting lost in hyperspace” problem. The project can be divided into three steps:1)Framing and testing ideas and testing in mockups or modest prototypes. These mockupsmay be on paper or in the computer. Of course, this phase includes a search of the rele-vant literature as well as attempts to get familiar with the available Virtual Reality hard-and software.2)Developing more elaborate prototypes that highlight specific aspects for creating andreading virtual books. This includes:a) developing a software layer that allows fast creation and modification of virtual book-prototypes.b) developing a prototype that illustrates how problems associated with current elec-tronic books can be solved or diminished.c) developing a prototype that illustrates how to add facilities for verbal communicationinto existing virtual reality applications.3)Based upon the second phase, I will: a) conduct some usability tests with groups of di-verse disciplines. b) identify strengths and weaknesses of the environments. c) draw con-clusions about the feasability and usefulness of such a virtual book and discussdirections for future research.1.2Environment1.2.1GVU CenterThe Graphics, Visualization and Usability Center is one of the most active and outstanding re-search institutes on Human-Computer Interfaces (HCI) in the world. The center houses a wide variety of faculty, who try to explore new frontiers of HCI. Members and graduate students or-igin from the College of Architecture, School for Civil Engeneering, College of Computing, School of Industrial and Systems Engineering, Office for Information Technology, School of Literature, Communication and Culture, School of Mathematics, Multimedia Technology Lab, and School of Psychology. James D. Foley, the well known computer graphics scientist, is the Center’s director. His careful management and open mindedness are the crucial driving forces to the quality and diversity of the Center’s research. His vision of the GVU is formulated as follows:“Making computers accesible and usable by every person represents the next and per-haps final great frontier int he computer/information revolution which has swept the world during the last half of this century.... The Center’s vision is of a world in which individuals are empowered in their everyday pursuits by the use of computers; of a world in which computers are used as easily and effectively as are automobiles, ste-reos, and telephones”(GVU 1992, p. 1)The Center’s research covers: realistic imagery, computer- supported collaborative work, al-gorithm visualization, medical imaging, image understanding, scientific data visualization, animation, user interface software, usability, virtual environments, image quality, user inter-faces for blind people,and expert systems in graphics and user interfaces. These projects are lead by several well know scientists, including John Stasko, Al Badre, Jessica Hodgins, Scott Hudson, Piyawadee “Noi” Sukaviriya and Christine Mitchell. Apart from the regular objective to publish and present high-quality scientific work, faculty and graduate students put a lot of effort into the creation of convincing demonstrations of their findings. MIT media lab’s “demo or die”-rule (brand 1987) seems to apply to the GVU as well: guided tours and demonstrations are frequently given to many visitors (including funders and scientists).Most graduate students do their research in the Graphics, Visualization, and Usability lab, which offers many high-end workstations and audio/video facilities. Furthermore, the lab also includes a conference room (with HCI library), a professional animation production area, and an isolated room for usability tests. A special “usability manager” takes care of the software, hardware and people of the lab (currently Suzan Liebeskind). However, the lab does not only provide technical support. The presence of so much “brains” in concentrated doses adds a so-cial dimension to the lab’s activities, a valuable -informal- communications channel that was certainly beneficial for my projects. Discussions, trouble-shooting sessions, and expert consul-tancies are held daily (and nightly!) every now and then. More formal meetings include the weekly brown bag meetings and the distinguished lecturer’s series (held each quarter). The completely renovated lab was officially opened 7 days after Anton Spaans and I arrived. This “convocation” day included several talks of celebrities in HCI research (e.g. Stuart Card and Andy van Dam) and, of course, many demonstrations of the GVU research in the lab.The GVU Center and its Lab can not easily be compared with the user interface research group at Delft. Apart from its interdisciplinary character and the wide variety of high-perfor-mance (graphics) workstations at the Center, there is another important difference between the the GVU lab and the HCI group at Delft: the GVU lab has a broad focus of research and does not fear to go beyond applied research. Companies like Siemens, SUN, DEC and Silicon Graphics fund projects that are focused on “technology Push”. This kind of research gets little attention in Delft, where research is primarily limited to applied problems, with its focus on validity and methods.As a part of the graphics research, professor Larry F. Hodges directs the virtual environments research group. At the beginning of the summer quarter in 1992 dr. Hodges ordered Virtual Reality equipment (see chapter 4.1 for a technical description). When I arrived in october ‘92 about 5 members were just unpacking the parts and trying to connect the systems together. From that moment on the research rapidly evolved to new, sophisticated uses and applications of virtual environments, including developing navigation interface techniques and metaphors, assessing display parameters for manipulation in virtual environments, making scientific visu-alization applications, and developing therapy for phobias (especially fear of heights). The group has weekly meetings to discuss strategies and the progress of the projects.1.2.2Jay David BolterMy advisor, Dr. Jay David Bolter is a professor in the School of Literature, Communication and Culture. He teaches technical writing, classical languages and the use of multimedia appli-cations. His research is directed toward communication, hypertext and new multimodal inter-faces for writing. He has written two books on the cultural and social significance of the computer: “Turing’s Man: Western Culture in the Computer Age” (1984) and “Writing Space: The Computer, Hypertext and the History of Writing” (1991). His books show that he is a gifted writer who has an understanding of both humanities and computer science. Apart from his writing, he co-designed and implemented a very interesting hypertext system called Sto-ryspace. In my experience, this application is one of the few hypertexts system that augments the writing task instead of disorienting the user with an overload of functionality. The usability is high, as can be noticed by the number of people that buy and employ it (it is comercially available for the Apple Macintosh).1.3ReportAlthough the project consisted of many small seemingly unrelated parts, one main thesis was pursued. This report will present the results of the Virtual Books project in a top-down fashion in 6 chapters. After describing the two backgrounds (hypertext and Virtual Reality), a more detailed discussion of Virtual Books is held in chapter 2 (Problem Analysis).Chapter 3 (Functional Design) elaborates on the the design of Virtual Books. It includes a dis-cussion of the general concepts, functions, and user interface issues. These evolve into the functional design of four prototypes:1) the Georgia Tech Catalog2) the Textured Book3) the V oice Annotator4) the World ProcessorTheir technical aspects are described in chapter 4 (Technical Design). This chapter also pre-sents a short overview of the computer hard/software that was used and the development of the Simple Virtual Environment(SVE) library.The implementation and evaluation of the prototypes appear in chapter 5 (Implementation and Evaluation). A short videoclip will accompany this report to illustrate the user interface and usability.The last chapter, chapter 6 (Conclusions and Future Research), includes the conclusions of this project and presents possibilities for future Virtual Books research.Several papers were written during this project, including: “The World Processor: an Interface for Textual Display and Manipulation in Virtual Reality”, “Virtual Annotation: Verbal Com-munication in Virtual Reality”, and “A First Experience with Spatial Audio in a Virtual Envi-ronment”. These articles can be found in Appendix A.Appendix B gives a short list of the prototypes; where they are located and how they are startedA description of the libraries that were developed during the project are presented in appendix C.Appendix D is the user’s manual that was used during the usability tests of the World Proces-sor.After the V oice Annotator was tested, the participants were interviewed. The questionaire and its answers are presented in the appendix E.Finally, appendix F is an informal report of my trip to Chapel Hill and Palo Alto.2. Problem AnalysisA more detailed analysis of the backgrounds is needed in order to design Virtual Books. The first sections of this chapter survey the two fields of interest: hypertext and Virtual Reality. Then I will propose to combine these two in the Virtual Books project. By integrating hyper-text facilities in virtual reality applications or adding virtual reality interfaces to hypertext sys-tems, some prominent problems of these fields can be solved.2.1Background 1: HypertextWe are living in the information age: our society produces, consumes and transforms data. The importance of information increases every day, and yet at the same time the amount of data seems to grow without bounds. Some researchers hold that one issue of a today’s newspaper contains more information than a medeival human would have encountered in his or her entire life.Computer science and informatics have introduced a paradigm to model the enormous com-plexity of generating and processing information. This paradigm considers all entities and ac-tivities that are involved during information processing as information systems - human beings as well as computers, faxes, phones etc.I will present a different view on information systems. It is a more literary view, focused on the history of writing and communication as it can be found in Jay Bolter’s book “Writing Space”. Instead of seeing computerized information systems as tools to process information, they are thought to be the decessors of earlier media (papyrus, codex, printed book). The ori-gins of information and its purposes (i.e. communication) have to be considered. In this vision, one of the most distinctive concepts computers contributed to media technology was hyper-text. This will be discussed in the second part of this section. However, current hypertext sys-tems do not always prove to be beneficial. The last section will identify the most prominent problems of these applications.2.1.1Short (Hi)story of MediaIn this section I want to introduce some aspects of media that seem to be relevant to this project. None of the ideas mentioned below are new, most of them originate from Jay Bolter’s book “Writing Space” (Bolter 1991). Reading this work results in a paradigm shift; I don’t percieve computers as tools (information processors with widgets) any more, but as media (substrates for communication).In his book, Jay Bolter initially focuses on the history of writing. One of the most important milestones in history was the introduction of the printing press by Gutenberg in the seven-tienth century. It ended an era in which the written page was only shared by an elite (monks and royal community). The rest of society was not able to read or write and relied on the estab-lisment to pass on information1. Society’s balance was disrupted by the printing press. Sud-denly everybody could purchase a book and get information at first hand; established authorities losed their exclusive rights to share (and create) information. In his book, Jay Bolter tells about the social and cultural impact of new technology. More specifically, he dis-cusses how the shift from traditional to electronic media will change writing and reading. Be-fore presenting electronic media in more detail, a short and a rather simplified excursion into cognitive science will be held to explain the word “medium”. Simplistically speaking, our thoughts are chunked into small entities, optimistically called “ideas” or “concepts” (this ap-proach to thinking is discussed further in the next section on hypertext). To communicate with others, we cluster our thoughts into “information”, and transfer those to a specific mediumthe ancient greek strongly preferred speech to written communication; the last was considered to weaken intellectual skills and memory(e.g. air for speaking, paper for writing/reading). The transfer from brain to medium involves a representation scheme.Figure 1: medium, representation scheme and thoughtsThis representation scheme is a structure or template to shape thoughts into symbols, that are in fact elements that can be embedded in the medium. In other words, the abstract scheme is a method to make our thoughts publicly available while the medium serves as a substrate for symbols. Spoken and written language are the most popular schemes in our everyday life. Other existing media (e.g. television, fax) do afford other (but not necessarily disjunct) repre-sentation schemes. Theories on media, schemes, and communication are rapidly evolving. As for now, we will focus on the history and potential of computer-based media. In the post-war period the introduction of computer technology slowly changed society. At first, the expensive power of computers was only exploited for mathematical purposes. A handful of visionaries accomplished the thought that computers were general-purpose machines; due to its quick ac-cess storage memory, the ability to create huge communication networks and its capacity to manipulate symbols, the computer has an unequalled power to act as a new medium. Influ-enced by the great media-guru Marshall McLuhan, computer scientist Alan Kay1 points out the computer’s unique properties in the context of media: he considers the computer as a meta-medium: a container that can hold information of any form, representation schemes and me-dia. Kay was familiar with the possibilities of digital media, in which arbitrary information is converted into digital symbols before storing it into the computer memory. At present, audio, video, pictures, and text exist side by side in popular multimedia systems.The number of facilities to exchange information by computer are rapidly increasing. In the seventies it started with electronic mail and Bulletin Board Systems. Today, a wide variety of communication channels can be used including:• the Online Book Initiative- a database that can be reached on the internet2. It includes elec-tronic versions of literature, children’s books, fairy tales and poems.• the USENET news system - a distributed Bulletin Board-alike system that includes hundreds of discussion groups. The subjects vary from antroposophy to computer science and from rock groups to biology, all these groups receive for about 20-100 postings a day. USENET news is often employed as an informal communication channel among scientists to discuss ongoing research and opinions.•Gopher- a distributed database with campus information, electronic versions of technical re-graphical interfaces. He also introduced the imaginary personal desktop computer called dynabook.2. the internet is a worldwide cluster of networks that connects universities, researchinstitutes and several industries。
journal of parallel and distributed computing 52,82 95(1998)Adaptive Virtual Cut-Through asa Viable Routing Method 1Ho Won Kim,-Hyun Suk Lee,-Sunggu Lee,-and Jong Kim-Department of Electrical Engineering and Department of Computer Science and Engineering ,Pohang University of Science and Technology (POSTECH ),San 31Hyoja Dong ,Pohang 790-784,South KoreaReceived February 14,1997;revised May 11,1998;accepted May 11,1998Adaptive virtual cut-through is considered as a viable alternative towormhole switching for fast and hardware-efficient interprocessor communica-tion in puter simulations are used to show that ourimplementation of a minimal-path fully-adaptive virtual cut-through algo-rithm outperforms both deterministic and adaptive wormhole switchingmethods under both uniform random message distributions and clustered dis-tributions such as the matrix transpose.A hardware-efficient implementationof adaptive virtual cut-through has been implemented using a semi-custom-designed router chip that requires only 2.30more area than a comparabledeterministic wormhole router chip.A network interface controller chip,which is crucial to our adaptive virtual cut-through method,has also beendesigned and is under fabrication. 1998Academic Press,Inc.Key Words :Virtual cut-through,wormhole switching,circuit switching,multicomputer,direct interconnection network,VLSI design.1.INTRODUCTIONThe interconnection network is a critical component of a massively parallel com-puter system because information must be communicated quickly in order for the processing nodes of the parallel computer to cooperate in solving a given rmation may be sent as messages between the processing nodes of a distributed-memory multicomputer or as data between the processors and memories of a shared-memory multiprocessorFor fast inter-processor communications,dedicated hardware devices,termed routers ,can be used to perform flow control without the intervention of the com-putation processor.Two popular hardware-supported switching methods arearticle no.PC981466820743-7315Â98 25.00Copyright 1998by Academic PressAll rights of reproduction in any form reserved.1This paper has been significantly modified from a preliminary version of this work presented at the ``24th International Conference on Parallel Processing''held in August 1995.This work was supported in part by the Korea Science and Engineering Foundation (KOSEF)under Grant 96-0101-09-01-3.wormhole (WH )switching [1]and virtual cut-through (VCT )switching [1].In WH switching (also known as WH routing)and VCT switching,messages arriving at an intermediate node are immediately forwarded to the next node on the path without buffering,provided that a channel to the next node is available.This is referred to as a cut-through operation.A cut-through may be performed at an intermediate node as soon as the header of the message arrives with the destination information.If cut-throughs are established through all intermediate nodes,a circuit is estab-lished to the destination,and the switching method resembles traditional circuit switching .If the message header is blocked at an intermediate node because the requested outgoing channel is unavailable,the message is kept in the network (i.e.,in the on-line flit buffers at each node along the path up to the current node)in WH and completely buffered at the current node in VCT.Wormhole switching is the most popular communication method used in current commercial multicomputers due to its low hardware overhead (requiring only a single flit buffer per incoming channel)and high performance.However,VCT can typically achieve higher performance than WH for the following reason:when a packet cannot cut-through an intermediate node,the packet is buffered at that node instead of being kept in the network as in WH.This effect becomes particularly evident with heavy network traffic.The main reason that VCT has not been as popular as WH is that the required buffering capability of the former method has been seen as a large hardware overhead.Due to its relative unpopularity,VCT has not been as heavily researched as WH.However,this paper will show that VCT,in particular adaptive VCT,has signifi-cant performance benefits over WH and can be implemented with minimal hardware overhead.It is shown that adaptive VCT has several attractive features when compared to WH:negligible overhead for avoiding deadlock (a situation in which no packet can proceed toward its destination),use of 1000of the free channels,good performance with heavy network traffic,and good performance with random or arbitrary locations of destination nodes.The hardware complexity issue is addressed by showing that VCT can be implemented with little hardware over-head (in some cases,less than WH),by exploiting the source buffer in the network interface to the router.2.BACKGROUNDThe type of parallel computer assumed will be a multicomputer with a direct interconnection network ,in which a communication link can only be used by the two end-nodes that it is connected to.Adjacent processing nodes are assumed to be connected by two directed communication links in opposite directions (although undirected links are also possible,directed links are assumed for simplicity).A com-munication link consists of one or more data lines and several control lines.One or more physical channels may occupy a single communication link by using time multiplexing or by partitioning the set of data lines.One or more virtual channels may occupy a single physical channel by using separate flit buffers and control lines for each virtual channel.When two or more virtual channels are active over a single 83ADAPTIVE VIRTUAL CUT-THROUGH84KIM ET AL.physical channel,they must be time-multiplexed;however,when only one of the virtual channels is active,it can utilize the full bandwidth of the physical channel. It is also assumed that messages are sent in fixed-size packets.All communication methods must deal with the problem of deadlock,which occurs when there is a cycle of packets in which no packet can progress toward its destination because it is blocked by some other packet.WH switching is par-ticularly susceptible to deadlock because blocked packets remain in the network, thereby reducing the number of free channels.Although much less likely,deadlock is also possible with VCT as the packet buffers at intermediate nodes can become full.The use of virtual channels was introduced by Dally and Seitz[1]as a means of guaranteeing deadlock-free WH switching.The WH routing algorithms intro-duced in[1]are deterministic algorithms,in which the routing path used is com-pletely determined by the source and destination node addresses.In[3],Dally showed that virtual channels could also be used with a deterministic WH routing algorithm to significantly reduce the probability of blocking,and thus increase the throughput of the network.Realizing the need for adaptability in routing around congested or faulty nodes and links,several researchers[4,5]used virtual channels to produce adaptive deadlock-free WH routing algorithms,in which a packet is permitted to change its routing path if a blocked channel is encountered.Adaptive algorithms can be classified into minimal[6]and nonminimal[4,7]algorithms,where a minimal algorithm always uses the shortest-length paths to each destination,and fully adap-tive[4]and partially adaptive[6,7]algorithms,where the former differs from the latter in that only a subset of the possible paths may be used.3.ADAPTIVE VIRTUAL CUT-THROUGHWormhole switching methods have several deficiencies when compared to VCT. First,WH in general has a lower saturation throughput than a comparable VCT method as blocked packets contribute to network congestion in WH;however,this problem is significantly alleviated by the use of multiple-flit flit buffers andÂor multi-ple virtual channels.Second,in WH based on deadlock avoidance,even with the use of virtual channels,1000of the free channels(and flit-buffers)are not available for use by a given packet as some of the channels have to be reserved in order to prevent deadlock.Also,in WH based on deadlock recovery,extra hardware over-head(deadlock buffer,timer,and crossbar)is necessary to detect and recover from deadlock[8 10].Third,fully adaptive routing in torus networks is difficult and requires extra virtual channels to be used for deadlock avoidance.Although virtual channels do not waste channel bandwidth,virtual channels do occupy valuable hardware resources because each virtual channel requires a separate on-line flit buffer and control line and contributes to the complexity of the arbitration logic within the router(refer to Section4).For the above reasons,adaptive VCT is proposed as an alternative to WH. When originally proposed in[2],VCT was described as a deterministic routing algorithm.In deterministic VCT,when the head of a packet is received at anincoming channel,the header is decoded to determine the ``one''outgoing channel to connect to.If that outgoing channel is busy,then the packet is buffered at the current node.This method is analogous to deterministic WH as originally described by Dally and Seitz [1].Thus,it is natural to consider an adaptive version of virtual cut-through in order to be able to navigate around congested or faulty nodes Âlinks.In order to facilitate discussion of the many possible forms of adaptive VCT,a general switching model,shown in Fig.1,is proposed.When the head of a packet is received at an incoming channel,the destination node information is extracted from the header.A connection is then attempted to the first-choice outgoing chan-nel.If successful,then a cut-through is established through the current node as denoted by (0)in Fig.1.However,if the requested outgoing channel is blocked (1)because it is being used by another packet,then a connection is attempted to the second-choice outgoing channel (2).This process is repeated until a cut-through is achieved or all outgoing channels permitted by the adaptive VCT algorithm are exhausted,as is the situation in Fig.1.In this situation,the blocked packet remains in the network (as in WH)until one of the permissible outgoing channels becomes available or the ``permitted waiting time''(PWT)expires.In the latter case,the packet is received at the current node (3)and inserted into the source buffer of the current node just as if the packet originated there (the circuit implementation is dis-cussed in Section 4).The packet at the head of the source buffer waits until one of the outgoing channels permitted to it becomes available,and then exits through that outgoing channel,as shown by (4)in Fig.1.The ejection latency out of and the reinjection latency into the network for blocked messages in intermediate nodes are alleviated with the aid of a specially designed network interface controller.Based on the above switching model,simulations were conducted with several different variations of adaptive VCT.In [11],we showed that deflection VCT ,based on the deflection routing methods proposed for computer networks with packet switching [12],adaptive VCT with PWT>0,and adaptive VCT with theFIG.1.A general switching model for adaptive VCT.85ADAPTIVE VIRTUAL CUT-THROUGH86KIM ET AL.choice of adaptivity limited to a fixed number were inferior to adaptive mini-mal-path VCT with PWT=0.In adaptive minimal-path VCT,the packet is permit-ted to choose between all possible minimum-length paths to the destination.Also, within adaptive minimal-path VCT,it is possible to attempt to follow a``zig-zag'' path(algorithm A mc)or to simply follow a``priority-X-direction''path(algorithm A ms).Again,in[11],we showed that A mc performs worse than A ms with certain destination node distributions and is only slightly better than A ms with other destination node distributions.Thus,this paper uses the A ms adaptive minimal-path VCT algorithm,in which the switching model of Fig.1is used and minimal paths are followed with the X-direction attempted first.The A ms algorithm deals with deadlock in the following manner.Since VCT buff-ers blocked packets,the deadlock conditions for VCT are identical to packet switching thus,the methods used to avoid deadlock in packet switching can be used[13,14].In our hardware implementation of adaptive VCT,the``structured buffer pool technique''for deadlock avoidance[13]was used because of its simplicity.In this method,the source buffer is partitioned into K buffer classes, where K is the diameter of the network.The i th buffer class,also called the i-hop class,may only hold those packets that have i of fewer hops to go to their respec-tive destinations.It is well known that this technique ensures deadlock-free store-and-forward packet switching[13].Our implementation in Section4.3shows that the source buffer can be implemented in a small SRAM(or even main memory) in fact,several researchers are investigating the injection of packets into the network directly from memory,thus avoiding intermediate buffer copies[15,16].The number of buffers in the NIC required to guarantee deadlock freedom is high and depends on the network size.There are other techniques to reduce those buffer requirements to small constant values regardless of network size[17,18]. However,at the time we initiated the NIC design,we were not aware of these techniques.4.HARDWARE IMPLEMENTATIONmunication ArchitectureThe proposed communication architecture for supporting adaptive VCT is shown in Fig.2.As can be seen from this figure,there is a network interface controller (NIC),source and receive buffers,and a processor responsible for preparing and sending the packets out onto the network.The NIC is logically partitioned into the external and internal NI.The external NI responds to the network and the internal NI responds to the processor and memory[19].Packets are initially stored in the source buffer before being sent out to the router chip.The router chip is connected to other router chips in a connection pattern determined by the interconnection network topology used.A packet which is injected into a router chip from a pro-cessing node is routed to the router chip connected to the destination node.Packets to be received by the current node are initially buffered in the receive buffer before being transferred to local memory.munication architecture.To demonstrate the feasibility of adaptive VCT,the A ms algorithm was implemented in a semi-custom-designed VLSI router chip and NIC chip.The com-plete hardware implementation of the A ms algorithm in a multicomputer would involve using our router and NIC chips in the network interface.Upon receiving a new packet in the receive buffer,the NIC must examine the header to determine if the packet is destined for the current node or is ``in transit.''In the latter case,the packet must be rerouted to the source buffer to be transmitted when one of its per-mitted outgoing channels becomes available.(Note that bandwidth matching requirements imply that the data transfer rates in the source and the receive buffers must match the data transfer rates within the router network.)In order to perform this rerouting efficiently without having to contend for the local bus,a dedicated path must be established to the source buffer within the external NI arbitration with packet insertion from the local processing node (on a FCFS basis)is of course necessary.4.2.An Adaptive VCT Router ChipA block diagram of our router chip,designed to implement the A ms adaptive VCT algorithm in a two-dimensional mesh or torus network,is shown in Fig.3.As can be seen,there are single-flit buffers at the receivers and transmitters and a crossbar switch connecting the receivers to the transmitters.The crosspoint logic includes arbitration logic to handle contention for common transmitters (outgoing channels).Finite state machine control logic in the receiver implements algorithm A ms by first attempting to connect to the first-choice transmitter,then the second-choice transmitter (if one exists),and then the PN (processing node)transmitter (for reception)if none of the first two choices are available.Note that in our prototype chip,6-bit-wide data lines were used to connect to other routers and the local processing node due to a shortage of I ÂO pins.Note also that the ``permitted waiting time''used is 0.The router chip was designed using Mentor Graphics design tools,manufactured using Samsung's 1.0-+m CMOS process,and successfully tested.The arbitration capabilities of the crossbar switch were successfully tested and the A ms adaptive routing algorithm worked as designed.The chip required 33,000transistors,con-sumed 800mW of power,and was tested successfully up to a clock frequency of87ADAPTIVE VIRTUAL CUT-THROUGHFIG.3.Block diagram of the A ms adaptive VCT router chip.12.5MHz.The layout for this chip is shown in Fig.4.The placement of the various blocks for the router design are approximately the same as in Fig.3.The hardware overhead required for our adaptive VCT router chip was estimated by measuring the layout area required by our chip as compared to the layout area required by a comparable deterministic WH router chip.This comparison is shown in Table 1.When our chip is compared to a deterministic WH router chip without multiple virtual channels,the overhead is 2.30.When our chip is compared to a deterministic WH router chip with two virtual channels per physical channel (toyout of the completed router chip.88KIM ET AL.TABLE 1Router Chip Layout Area Comparisonavoid deadlock),our chip is smaller by 85.00,even though the size of the crossbar is kept constant [3].Since this latter chip has higher performance,however,it should perhaps be compared to an adaptive VCT chip with two virtual channels per physical channel in this case,the overhead for our chip is 9.50.The significance of a smaller chip area is that the router can easily be implemented in one corner of a multiple-capability chip (such as a processor+memory+NIC+router chip).It should be noted,however,that this comparison is only a rough estimate,as the layout is not optimized.It is noted that in a practical VCT router implementation it is more preferable to use multiple-flit buffers,such as in [20,21],rather than single-flit buffers since single-flit buffers can result in bubbles and reduced throughput.work Interface Controller DesignFigure 5shows a block diagram of our NIC chip,which is designed to interface to our router chip and support the A ms adaptive VCT algorithm.The send queue is a queue of ``send packet requests.''If an entry is detected at the head of the sendFIG.5.Block diagram of the network interface controller chip.89ADAPTIVE VIRTUAL CUT-THROUGHyout of the network interface controller chip.queue,the sending control logic forms a packet header from the destination infor-mation and sends it out followed by the packet body.The packet body is sent out from the source buffer starting at the address pointed to by ``data address.''The receiving control logic,upon receiving the header of a packet,determines if the packet is destined for the current node or is simply being stored temporarily.In the former case,the packet is stored in the receive buffer.In the latter case,the received packet is stored in the source buffer and an entry is appended to the tail of the send queue.The only addition required to the basic NIC design to implement the A ms adaptive VCT algorithm is a flit buffer and some extra control logic to send tem-porarily buffered messages to the source buffer.In our NIC implementation,the source buffer and receive buffer are implemented as SRAMs with a possible maximum size of 32K words (256words in an internal SRAM and the rest in an external SRAM)and a word size of 6bits (to interface to our 6-bit router chip).Logically,the source buffer is partitioned into two parti-tions.In the first partition,which we arbitrarily chose to be 2K words,packets are stored in any ``packet slot''as they are received.The second partition is sub-parti-tioned into K buffer classes to implement the ``structured buffer pool technique''for deadlock avoidance described at the end of Section 3.This second partition is used only when the first partition is completely filled.Our simulation results at the end of Section 5show,however,that we almost never have to use this second partition.The NIC chip was designed using a 0.8-+m CMOS process and is currently awaiting fabrication.Figure 6shows the layout for the NIC chip.5.SIMULATIONSComputer simulations were used to compare the performance of the A ms adaptive VCT algorithm and WH methods.Simulations were conducted for various90KIM ET AL.topologies,network sizes,packet sizes,flit buffer sizes,and multiple virtual chan-nels.A 16_16two-dimensional mesh topology was chosen to allow meaningful comparison with deterministic and adaptive WH routing algorithms as most WH routing algorithms do not work on a two-dimensional torus with only one virtual channel per communication link.Note that the adaptive VCT algorithms,by con-trast,work efficiently (without deadlock)on any network topology,using only one virtual channel per communication link.In the simulations for the A ms algorithm,the ejection and reinjection overhead for an in-transit buffered packet were modeled based on the delays measured with the circuit simulations for our NIC hardware implementation.In our simulations,a 20-flit packet size is assumed,and packets are transmitted one flit at a time through the network,with one flit being transferred in one clock cycle time.Each node generates new packets according to a Poisson distribution with rate *ÂL ,where *is the applied load and L is the length of the packets.Destination nodes are selected using two methods,one based on a random uniform distribution and one based on a clustered distribution.Although we have experimented with several clustered distributions,for the sake of brevity only the results for the matrix transpose distribution are shown in this paper.The simulation results are presented with the offered traffic,*,along the X-axis and the average network latency on the Y-axis.Note that,as in [3],the offered traffic has been normalized by the maximum possible throughput,which on a 16_16mesh with uniform random traffic is 64flits Âcycle.The latency is defined as the time from when a packet is first generated and stored in the source buffer to when the tail of the packet leaves the network and enters the receive buffer of the destination node.All times are measured in terms of flit cycles.Each simulation is executed for 30,000cycles,with statistics collected for only the last 20,000cycles in order to avoid transient startup effects.FIG.7.Average latency comparison with deterministic and adaptive WH routing algorithms given a 16x16mesh and 20-flit packets,a uniform destination node distribution,2flit buffers per virtual channel and 4virtual channels per link.91ADAPTIVE VIRTUAL CUT-THROUGHFigure7shows a comparison of the A ms algorithm with deterministic and adap-tive WH routing algorithms based on a uniform destination node distribution.The deterministic WH routing algorithm used is the X Y routing algorithm in which the packet is first sent in the X direction and then in the Y direction.The adaptive WH routing algorithms simulated are Glass and Ni's negative-first algorithm based on the turn model[7](NEG),which is a partially-adaptive minimal algorithm,and Disha's WH routing algorithm based on deadlock recovery(Disha-Seq),which is a fully-adaptive algorithm[8,9].The Disha-Seq algorithm is simulated with a time out of80,the recommended value.At low traffic loads,all methods perform similarly,with Disha-Seq showing slightly better performance than the other algo-rithms.However,when comparing the saturation point,it can clearly be seen that the A ms algorithm has the best performance only the A ms algorithm is capable of supporting a750traffic load.Figure8shows the results for a matrix transpose destination node distribution. With a matrix transpose destination node distribution,the Disha-Seq algorithm again has the best performance at low traffic loads and the A ms algorithm has the highest network saturation point.Figures9and10show the results of using16virtual channels per communication link(with32-flit buffers allocated to each virtual channel).The interested reader is referred to[3]and[22]for the effects of larger numbers of virtual channels and larger buffers.Figure9compares the A ms algorithm with deterministic and adaptive WH routing algorithms assuming20-flit packets,two virtual channels per link,and a uniform destination node distribution.Figure10shows a similar comparison assuming a matrix transpose destination node distribution.It can be seen that while the performance of all algorithms have improved significantly from Figs.7and8, the A ms algorithm again has the highest network saturation point.FIG.8.Average latency comparison with deterministic and adaptive WH routing algorithms given a16x16mesh and20-flit packets,a matrix transpose destination node distribution,2flit buffers perFIG.9.Average latency comparison with deterministic and adaptive WH routing algorithms given a16x16mesh,20-flit packets,a uniform destination node distribution,32flit buffers per virtual channel and16virtual channels per link.During all simulations with the A ms algorithm,records were kept of the maxi-mum source buffer lengths observed.This is important as our adaptive VCT method is dependent on using the source buffer in the NIC to buffer temporarily blocked packets.The maximum of the source buffer lengths observed under very heavily-loaded network conditions in all of our simulations(taken to be the point when the average latency was over70times the minimum average latency the network will rarely be used or usable at loads beyond this point)was only11packets. Thus,in this case,with a packet length of20flits,a220-flit source buffer is sufficientto support adaptive VCT.a16x16mesh,20-flit packets,a matrix transpose destination node distribution,32flit buffers perCONCLUSIONThis paper has investigated adaptive VCT as a viable alternative to WH switching. It has been shown that adaptive VCT has several attractive features when compared to WH:negligible overhead for avoiding deadlock(in terms of both performance and hardware),the possibility of using1000of the free buffers and channels,good performance with heavy network traffic,and good performance with uniform or clustered locations of destination nodes.Simulations have been used to investigate the performance of a minimal-path adaptive VCT algorithm(A ms).When compared to other deterministic and adaptive WH routing algorithm,the results show that A ms has a significantly higher network saturation point,and only slightly poorer performance at low network traffic loads.Finally,the hardware complexity issue was addressed by showing that VCT can be implemented with little hardware over-head(in some cases,less than WH)by exploiting the source buffer in the network interface to the router.REFERENCES1.W.Dally and C.L.Seitz,Deadlock-free message routing in multiprocessor interconnection net-works,IEEE put.C-36(May1987),547 553.2.S.Kermani and L.Kleinrock,Virtual cut-through:A new computer communication switchingtechnique,Computer Networks3(1979),267 286.3.W.J.Dally,Virtual-channel flow control,IEEE Trans.Parallel and Distrib.Systems3(Mar.1992),194 205.4.W.J.Dally and H.Aoki,Deadlock-free adaptive routing in multicomputer networks using virtualchannels,IEEE Trans.Parallel and Distributed Systems4(Apr.1993),466 475.5.J.Duato,A new theory of deadlock-free adaptive routing in wormhole networks,IEEE Trans.Parallel and Distributed Systems4(Dec.1993),1320 1331.6.Y.M.Boura and C.R.Das,A class of partially adaptive routing algorithms for n-dimensionalmeshes,in``International Conference on Parallel Processing,Aug.1993,''Vol.III,pp.175 182. 7.C.J.Glass and L.M.Ni,The turn model for adaptive routing,in``Proc.,19th InternationalSymposium on Computer Architecture,1992,''pp.278 287.8.K.V.Anjan and T.M.Pinkston,An efficient,fully adaptive deadlock recovery scheme:Disha,in``22nd Annual International Symposium on Computer Architecture,June1995,''pp.201 210.9.K.V.Anjan and T.M.Pinkston,Disha:A deadlock recovery scheme for fully adaptive routing,in``9th International Parallel Processing Symposium,Apr.1995,''pp.537 543.10.Y.Choi and T.M.Pinkston,Crossbar analysis for optimal deadlock recovery router architecture,in``11th International Parallel Processing Symposium,June1997''.11.H.S.Lee,H.W.Kim,J.Kim,and S.Lee,Adaptive virtual cut-through as an alternative towormhole routing,in``International Conference on Parallel Processing,Aug1995,''pp.68 75. 12.N.F.Maxemchuk,Problems arising from deflection routing:live-lock,lockout,congestion andmessage reassembly,in``Proc.of NATO Workshop on Architectures and Performance Issues of High Capacity Local and Metropolitan Area Networks,May1990.''13.M.Gerla and L.Kleinrock,Flow control:A comparative survey,IEEE -28(Apr.1980),553 574.14.D.Gelernter,A dag-based algorithm for prevention of store-and-forward deadlock in packet。