by DONALD CALLOWAY
Published 27 February 2011

CLARKSBURG, WV — We humans don’t think in terms of 1′s and 0′s so why should our computers do the same? From the very beginning of the computing age we have created our computers to do everything based on the binary number system, the “on” or “off” way of dealing with everything, and we’ve chosen to use electricity as the medium for passing data through our computing machine’s brain, it’s processor, to the final outcome. After all, electrical transmission seemed to be the logical and best choice since electrical circuits can either be “on” or “off” but not both “on” and “off” simultaneously; so the marriage between the binary number system and electricity has for many decades been one made in heaven for our so-called computing machines. In looking at the world in this way we have created machines that can compute, that is, manipulate these 1′s and 0′s of our machine’s world, the only thing our machines know, extremely rapidly to achieve a result, and we’ve cleverly constructed algorithms for our machines to follow in solving highly complex problems. But our computers can’t rationalize, that is, they can’t make informed choices among apparently mutually exclusive outcomes when any of the outcomes would be acceptable, just perhaps not the best choice for our situation from a variety of perspectives.

Is it just me or does anyone else think our present computing paradigm is flawed and thus seriously impeding our progress toward creating a machine that can truly think as we do? Since, as I said before, we obviously don’t think in terms of the binary number system, this conclusion seems likely. So, what is the answer? Out there somewhere lies a yet undiscovered, monumental breakthrough in computing that will give us the answer. The trick is in knowing how to construct a “thinking” architecture for our computing machines that is radically different from the present “computing” architecture based on the binary number system. In achieving this goal we must rethink how we think.

If our thinking mechanism is not binary, then what is it? Can we get any answers to this question from modern science? While it is true that present science accepts the fact that in the process of “thinking” there are electrical signals traveling to and through our brains,–we know this to be true because we only need to see what happens when we severe the spinal cord–what happens to these electrical signals that causes us to “think”, that is, have thoughts in a way that is far superior to even the most advanced computers of our time? To modern-day science, this is still an enigma wrapped within a riddle. So, how do we proceed in finding a solution? I believe that when we are able to understand how our minds work on a “computing” level, that is, how our brains function to perform all of the so-called “background processes”–such as regulation of our autonomic bio-mechanisms such as the pulmonary and cardiovascular systems of our bodies about which we are not consciously aware, that is, we don’t have to think about them,–then perhaps we will be able to construct a similar architecture to replicate that complex mechanism and then port it to a machine. If we can achieve this we will have constructed a computing machine that computes like we do but using a far less constrictive architecture than the one we currently use which is based on the binary number system. Perhaps this “new” architecture will lay the groundwork for a truly “thinking” machine, something that seems light-years away for a machine that is still computing the binary way.

Donald007 is a retired Navy LCDR and mathematician currently working as a supervisor for the WV Dept. of Health and Human Resources in Marion County, WV.

Tagged with:
 

by DAN CALLOWAY
Published 14 April 2010

WEAVERVILLE, NC – Most likely you’ve heard a lot of buzz recently about Cloud Computing. So what is Cloud Computing? The Cloud–as it is referred to–is outside of the business LAN or network and comprises the Internet. Anything in the Cloud is accessible via a typical Web browser, such as Mozilla Firefox 3.x, Safari 4.x, Internet Explorer, or Google Chrome. Cloud computing is Internet-based computing where the operating system, applications, shared resources, and data storage are obtained via the Web. The majority of the resources and services offered by Cloud computing are delivered via Data Centers that comply with QoS standards of Internet-based e-Commerce. With cloud computing, your documents, files, and other critical data are always available regardless of where you are.

EyeOS is a company working in collaboration with IBM that offers cloud computing services for collaboration, education, business, and developers. EyeOS is an opensource solution for Web Desktop with RIA framework released under the AGPLv3 license and only needs Apache server, PHP 5, and MySQL to run the server.

Collaboration is easy with EyeOS. You, your family and friends can work with documents, photos, music, and videos all at the same time using applications that don’t reside on your PC, but are running over the Internet. Using the cloud computing resources offered by EyeOS allows for a collaborative learning environment sharing knowledge and working with the latest technologies. Working over the Cloud is fast, easy, secure, private, and confidential–just the things you need and demand for your business. EyeOS offers a fast and reliable Rich Internet Application (RIA) framework focusing on stability and security that allows you to focus on your application and leaving the rest to EyeOS.

EyeOS offers five powerful, bundled applications right out of the box. These include Word Processor, Calendar, Mail Client, Spreadsheets, and File Manager.

To download the latest Open Source Web Desktop (version 2.0) from EyeOS, visit the EyeOS-Cloud Computing download site today!

Tagged with:
 

By DAN CALLOWAY
Published 28 January 2010 @ 02:41 UTC

WEAVERVILLE, NC – An Operating System (OS) is designed to run on either desktop or network platforms. For the sake of brevity in this article, I will limit my discussion, for the most part, to user desktop platforms.

A desktop OS is essentially designed to be the interface between the hardware (including the CPU) and the user, wherein it is primarily responsible for the management of the hardware and activities that run on the computer as well any applications that may be running within the OS. The OS also provides the graphical user interface (GUI) where it exists, in order to make the computer more user friendly for the user. As the host for running applications on the computer, the OS is also responsible for the hardware, scheduling of system resources to support the applications, and the access protection for the hardware. When services are requested on the desktop, the kernel of the OS creates a process by assigning memory and other resources, establishing a priority for the process (in multi-tasking systems), loading program code into memory, and executing the program. The program then interacts with the user and/or other devices and performs its intended function.

Regardless of OS installed on the desktop, OSes provide application services to both programs running on the computer or to the user through the use of Application Program Interfaces (APIs) or, in some instances, program system calls. When invoked by the user or by another program running on the computer, system calls or APIs request services from the OS, pass parameters, and receive the results of the operation. As mentioned, users can interact with the OS either through the GUI or by Command-line Interface (CLI) to request services from the OS. On desktop computers, these interfaces are usually considered part of the OS. However, on larger multi-user systems running UNIX, UNIX-like, or VMS OSes on mainframes or mini-mainframes, the user interface is typically a program that runs outside of the OS itself.

As parallelism increases on the desktop platform; that is, as more and more processors are added and processing takes place through multi-core and multi-threaded environments, the impact that such increases in parallelism has on the OS is related to what is referred to as application workload or process scheduling and is directly related to this increased complexity. Thus, increasing parallelism would have a detrimental impact on OS functionality unless the OS is redesigned to accommodate this increase. Frachtenburg and Etsion (n.d.) suggest that as the average desktop workload grows more parallel and more complex, current OSes are not adequate to support the growing parallelization to handle this increase in computer parallelism. Frachtenburg and Etsion contend that parallel process scheduling required to efficiently run desktop platforms and their applications in a supercomputing environment cannot be achieved unless the OS is redesigned to handle the increased workload. Through case studies in their paper, Frachtenburn and Etsion demonstrate that one possible solution to this inadequacy of existing OSes might be to redesign the OS process schedulers with an understanding of the requirements of all process classes and their mixes, as well the abilities of the underlying architecture.

Frachtenburg and Etsion (n.d.) state: “The predominant approach to multiprocessing in general purpose [OSes] is to treat each processing element as an independent entity—processes/threads are migrated between processing elements in an attempt to balance cache affinity needs with CPU load imbalance” (p. 2). As a result, the general-purpose scheduler within the OS is too focused on handling a small set of requirements and misses the big picture, and overlooks two requirements that are critical in maintaining performance and efficiency for parallel desktop workloads: separation of co-interfering processes and co-scheduling of collaborating processes. Thus, these are two specific redesign considerations within the OS that Frachtenburg and Etsion suggest are necessary as parallelism is increased on the workstation.

Giacomoni and Vachharajani (n.d.) concur with Frachtenburg and Etsion (n.d.) in their assumption that in order to realize the potential of pipeline-parallel software as parallelism increases on the desktop, requires a reexamination of some basic historical assumptions in OS design, including the purpose of time-sharing and the nature of applications. Multicore architectures make it possible to fully dedicate resources as needed without compromising existing OS services. Giacomoni and Vachharajani describe the minimal OS extensions necessary to support efficient pipeline parallel applications on multicore systems and support their claims with evidence produced from the domain of network frame processing.

Giacomoni and Vachharajani (n.d.) contend that “maintaining a smoothly flowing pipeline, that is a pipeline where a datum is never waiting for processor time, requires the system to provide a zero-stall guarantee” (p. 4). Furthermore, “Pipelines implemented in hardware are based on this guarantee and ensure it by having every stage operate in lockstep with a uniform stage length of 1 cycle” (p. 4.). Operating systems that run on single-processor desktops, in general, do not make this guarantee as they have been built on the principle of timesharing resources. Multicore systems are different and OSes that support them “must be able to provide abundant processing resources permitting a system to use selective timesharing and fully dedicate resources to an application for an extended period of time. With dedicated resources it is possible to achieve the zero-stall guarantee” (Giacomoni & Vachharajani, nd., p. 4.). Giacomoni and Vachharajani argue that realizing these improvements require the operating system to be redesigned in order to provide a zero-stall guarantee. Meeting this zero-stall guarantee for any pipeline requires that the system: (1) fully dedicates sufficient computational resources to the application and (2) provides a set of pipe-lineable services. Finally, supporting a pipeline that spans multiple execution contexts requires a new abstraction to label the pipeline as single entity for resource allocation and security.

References:

Frachtenburg, E., & Etsion, Y. (nd.). Hardware Parallelism: Are Operating Systems Ready? (Case Studies in Mis Scheduling) . Los Alamos National Laboratory, Modeling, Algorithms, and Informatics Group School of Computer Science and Engineering. Los Alamos, NM: Defense Advanced Research Projects Agency (DARPA).

Giacomoni, J., & Vachharajani, M. (n.d.). Operating System Support for Pipeline Parallelism on Multicore Architectures. University of Colorado at Boulder. Boulder: University of Colorado at Boulder.

Dan Calloway

by DAN CALLOWAY
Published 24 January 2010 @ 00:52 UTC

WEAVERVILLE, NC -  Modern computers are built on the von Neumann architecture using silicon-based technology. Warren (2004) posits that this architecture is not particularly well adapted to solving a range of complex problems and that alternatives are being sought to solve them wherein researchers and scientists are looking to insights from nature to offer the solutions. Warren also contends that silicon, which has been used extensively over the last 50 years, is reaching its limitations in use based on the laws of physics and the atomic structure of the silicon substrate, and that alternatives to silicon, based on molecular or biological sciences as well as quantum physics are competing to replace or to at least co-exist with silicon technology to extend its capability. Silicon is the second most common element in the Earth’s crust, which comprises roughly 25.7% of the Earth’s crust by weight (Mineral Information, 2010). Due to the abundance of silicon and its extensive use in building computer architectures today, this author sees extending its capability to be a more logical architectural approach than seeking its replacement, at least for the foreseeable future.

A Biological Approach to Solving Complex Problems

This author supports Warren’s (2004) conjecture that more research is needed before the concepts of molecular computing, biological computing, or quantum computing replace silicon technology entirely and that other approaches should be entertained that complement the use of silicon-based technology. One such approach this author supports is that of using nature-inspired (biological) solutions to solve complex problems using software implementation on artificial neural networks that use silicon-based technology. This approach has achieved considerable success in solving complex problems especially in pattern recognition and network control. Artificial neural networks (ANN) are an information processing paradigm, which is inspired by the way the brain processes information, such as in the nervous system where interconnected network feedback loops allow data transmission in both directions in a dynamic rather than static arrangement. Although ANN mimics the way information is stored and processed in the human brain, it is limited and has not been able to fully achieve the cognitive and reasoning processes that take place within the brain. An ANN is configured for a specific application, such as pattern recognition or data classification through a learning process (Stergiou & Siganous, 2010). (more…)

by DAN CALLOWAY
Published 21 January 2010 @ 21:06 UTC

WEAVERVILLE, NC – Good morning ladies and gentlemen, my name is Dan Calloway, and I am a consultant for NewTechnologies, Inc. I was hired by your company to propose a new technological development in computer architecture that I presented to the board of directors last week following research that was conducted into your current computer architectural manufacturing process. I have also been asked to chair the team that will be evaluating the proposal that I presented to the board, a proposal that I will be discussing with you today.

First, please allow me to give you some insight into the history of the development of the current computer architecture that most computer platforms are designed around, including ones your company is currently designing. As most of you know, most modern computers are built on the von Neumann architecture and are based on silicon transistor technology. Von Neumann was a Hungarian mathematician who developed the architectural design of the modern computer in papers that he wrote circa 1945. His architectural design is one in which there is a single CPU or central processing unit or chip containing millions of silicon-based transistors, with the CPU containing the control unit and the arithmetic/logic unit that is separated from the memory and Input/Output features. As I stated, most modern computers today are still being built around von Neumann’s architectural design concept even though the original design has taken on several modifications. These modifications have included such things as increasing the word-length within the CPU processor, and the introduction of various degrees of parallelism within the architecture so that one instruction can be processed while another instruction is being fetched simultaneously. In addition, our modern supercomputers are the result of the use of multiple CPUs (still designed around the von Neumann architecture principle), which are used in a parallel computer architectures (Warren, 2004).

Although the architecture and the technology of the silicon-based transistors that make up the CPUs that control our modern computers have been extremely successful over the last 50 years or so, there are problems for which this architecture and technology are not particularly well adapted, and my proposal is to recommend to your company alternatives in both the architectural design and the silicon-based technology (Warren, 2004). For example, from the standpoint of the physical characteristics of silicon itself, there is a point at which continuing to add more transistors per chip (increasing chip density) will begin to violate the laws of physics since further attempts at miniaturization on the chip will become physically impossible from a molecular and atomic perspective. It is the laws of physics that will cause the use of silicon-based transistors to become extinct in the next several years even with the advances in transistor and chip design we have seen over the last decade. Furthermore, from an economic standpoint, the cost associated with continuing to add more silicon transistors per chip will eventually reach a point of diminishing returns where the cost of these additional transistors per chip will not yield sufficient increases in computing power to make them cost effective (Nair, 2002). There are other examples that I could provide, but these are the major ones.

My proposal, therefore, is two-fold: (1) I propose that the current computer architecture of von Neumann has outlived its usefulness in the IT organizations of today and alternatives to the von Neumann design are needed if computing power is to be advanced further in the future, and (2) I propose that the physical and economic limitations of current silicon-based transistor technology that threatens its very existence in the next few years should be replaced with alternative technologies such as biological-, or molecular-based technologies that do not rely on the silicon substrate.

My proposal suggests that advances in current computer architectural design and a solution to replacing silicon-based transistor technology can both be inspired by heuristic solutions found in nature. There are lessons to be learned from how biological systems achieve self-control in a decentralized manner. The natural world provides proof that extremely complex problems in pattern recognition, for example, are solvable as these solutions are observed quite often in the Animal Kingdom. To date, the heuristic approach of finding solutions to complex problems in nature has largely concentrated on implementing these solutions on software running on conventional computers. However, the development of neural networks that mimic the human brain in an attempt to improve instruction execution time has involved developing this technology on silicon-based technologies that will soon become extinct (Warren, 2004).

I suggest the two-fold proposal above is achievable through the implementation of a biological-, or molecular-based solution to computing, which involves the replacement of silicon-based transistor technology with organic or inorganic molecular and biological material through the process of constructing switches using molecular material that exist in the nanometer size range. The protein, bacteriohodopsin, has been heralded as a viable alternative to silicon technology in the emerging computing arena of molecular computing. A detailed introduction to the work on bacteriohodopsin and its use in building a three-dimensional memory prototype can be found in Birge, et al. Furthermore, advances in computing architecture and technology to replace silicon can be found in the use of inorganic substances, such as lithium niobate used in the development of holographic memory, which exceeds the memory capabilities available from the use of bacteriohodopsin. Utilizing either the molecular-, or biological-based solutions as discussed here will solve the current problems associated with silicon-based technologies and provide for increased computing capabilities to solve increasingly complex problems requiring greater computing power than currently available through conventional computing architectures and technologies that your company currently utilize in its manufacturing process (Warren, 2004).

There is obviously more work that needs to be researched in the field of molecular computing and biological computing, to make it work effectively and efficiently but my proposal is a starting point in getting your company to entertain the frontiers of alternative computing architectures and technologies that will revolutionize the IT and computing industry as we know it today (Warren, 2004).

It has been my pleasure to address you today, and I hope that you will allow me to work closely with your CTO and your executive team in developing implementation plans to transform your business processes to begin the transition from silicon-based transistor technology to molecular-, and biological-based technologies that will play a vital role in computing in the future.


References:

Birge, R.R., Gillespie, N.B., Izaguirre, E.W., Kusnetzow, A.,Lawrence, A.F., Singh, D., Wang Song, Q., Schmidt, E., Stuart, J.A., Seetharaman, S., Wise, K.J.: ‘Biomolecular electronics: protein based associative processors and volumetric memories’, J. Phys. Chem. B, 1999, 103, pp. 10746–10766

Nair, R. (2002). Effect of increasing chip density on the evolution of computer architectures. IBM Journal of Research and Development , 46 (2/3), 223-234

Warren, P. (2004). The future of computing – New architectures and new technologies. IEEE Proceedings – Nanobiotechnology , 151 (1), 1-9.


Dan Calloway

Get Adobe Flash playerPlugin by wpburn.com wordpress themes

SEO Powered by Platinum SEO from Techblissonline