Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456


News Release, 24 February 1997

Roslin, Midlothian, UK... The Roslin Institute and PPL Therapeutics have published in Nature the successful breeding of cloned sheep through nuclear transfer from differentiated foetal and adult cells. This is a major scientific breakthrough as it is the first time that any mammal has been derived from foetal or adult cells. The research also confirmed the ability of nuclear transfer to work with cells from embryos. Benefits of the technology could include improvements in conventional animal breeding as well as in the biopharmaceutical industry.

March 1, 1997, Poll Posted at 1:59 p.m. EST

( CNN ) -- Americans responded unfavorably to news this week that Scottish scientists had successfully cloned a sheep from a cell taken from ordinary tissue.



March 2, 1997, Questions Asking for Answers (Jinlong Lin)

(1) Is cloning processes against Von Neumann's will?
(2) Can we use genetic algorithms in process controls?
(3) Are you willing to buy evolving processes and evolution scheduling?



FIT

DESCRIPTION

This is a new scheduler, called Evolution Scheduler, based on Genetic Algorithms and Evolutionary Programming. It lives with original Linux priority scheduler. This means you don't have to reboot to change the scheduling policy. You may simply use the manager program esep to switch between them at any time, and esep itself is an all-in-one for scheduling status, commands, and administration. When you switch back to Linux priority scheduler, it's the same as your usual one, except doing some additional "if(esd.rq_policy==ES_SCHED_ES)" instructions. We didn't intend to remove the original priority scheduler; instead, at least, esep provides you with another choice to use a more intelligent scheduler, which carries out natural competition in an easy and effective way.

FILES

esep-1.4.tgz (21600 bytes)(Evolution Scheduling and Evolving Processes)

esep-1.4.lsm (1140 bytes)

Sunsite archive http://sunsite.unc.edu/pub/Linux/kernel

See also xesep(Xwindow Evolution Scheduling and Evolving Processes)

README

README for esep (Evolution Scheduling and Evolving Processes),
which provides with an add-on scheduler (Evolution Scheduler) 
for Linux-2.0.30, or later
Version 1.4, dated October 3, 1997 
Version 1.3, dated August 10, 1997 
Version 1.2, dated July 4, 1997 

Bugs Fixed and Acknowledgements:

1.2 to 1.3
  1. Added a critical section to protect scheduling data in sched.c.

1.3 to 1.4
  1. Adjusted the screen format of esep.
     by Hans Zoebelein (zocki@goldfish.cube.net) 

  2. Fixed a bug of kernel stack overflow in es_get_status function.
     by I.J.A. van Geel (I.J.A.vanGeel@twi.tudelft.nl) 


How to Identify a Bug:

  If a program can run well under "esep -cp pr", but it
doesn't work normally on "esep -cp es", please report the bug
that should belong to esep. Otherwise, tell the owner of
the program.



NAME
       esep Evolution Scheduling and Evolving Processes
              --status,commands,administration--

SYNOPSIS
       esep ["commands args..."] [-options...]

KEY WORDS
       Evolving  Processes, Evolution Scheduling, Concurrent Pro-
       gramming, Genetic  Algorithms,  Evolutionary  Programming,
       and Real-Time Systems

DESCRIPTION
       In this program, we present concepts of evolution schedul-
       ing, which will provide us with a better scheduling mecha-
       nism  for  competing processes in the ready queue and even
       the blocked queue. The evolution scheduling is  acceptable
       for the real-time system and useful for its performance to
       achieve fair and effective scheduling. In  the  comparison
       of queue dispatching and process dispatching of the evolu-
       tion scheduler with other  ones  of  existing  schedulers,
       round robin, priority, and  even  FIFO  scheduling, we can 
       confidently   conclude   that   where   we   use the round
       robin, priority, and even FIFO scheduling, we  can  imple-
       ment  evolution  scheduling to substitute for them without
       warning the application programmers to change their expec-
       tation  of the scheduling controls. On the other hand, for
       those who pursue evolutionary computation,  this  is  good
       news.  It  allows them to carry out natural competition in
       an easy way consistent with  their  operating  system  and
       programming  language. Each evolving process, one with the
       ability to improve  its  adaptation  to  the  environment,
       reflects  on  the  CPU  usage rate and I/O throughput load
       with its fitness function,  and  the  evolution  scheduler
       elaborates  the  optimization winner for the next quantum.
       So there are many benefits for  both  scheduler  designers
       and evolutionary programmers.

COMMAND-LINE OPTIONS
       -help | -h
            print out this message

       -info | -i
            print out system information

       -ver | -v
            print out version numbers

       -cp pcy
            change default policy

       -cq qid
            change default qid

       -cpo obj...
            change default process objective function

       -cqo obj...
            change default queue objective function

       -mp pid -po obj... [-qo obj...]
            modify objective function of specified process

       -mq qid -qo obj...
            modify objective function of specified queue

       -q qid
            declare qid for commands

       -po obj...
            declare process objective function for commands

       -qo obj...
            declare queue objective function for commands

       -bg 
            execute in background for commands

FIELD DESCRIPTIONS
       PCY  system policy, the valid values  are 0(pr) and 3(es),
            ES_SCHED_PR==0, ES_SCHED_ES==3, you can either set it
            to  be  unix  priority  scheduling  (0)  or evolution
            scheduling (3), the system default is ES, you can use
            "esep  -cp 0" to set it back to PR, which is the same
            with the original one, except doing  some  additional
            "if(esd.rq_policy==ES_SCHED_ES)",   you   can  switch
            between these two policies at any time as  you  wish,
            even in the X-windows

       QID  queue  id, default setting, 1<= qid <5, you may reset
            ES_MAX_RQ up to 255, ES_MAX_RQ is in sched.h

       CTX  context switches, context switching times  in  around
            1000 jiffies


       POF  process objective function, used for processes to get
            process fitness values, see QOF below

       QOF  queue objective function, i.e. obj... = (obj0,  obj1,
            obj2,  obj3, obj4) vector used to product with system
            (base_free,    system_free,    cpu_free,    mem_free,
            disk_free)

       SYS  system  variables,  base_free  = 100 (constant), sys-
            tem_free =  100  -  system_load,  cpu_free  =  100  -
            cpu_used,  mem_free  =  100 - mem_swaped, disk_free =
            100 - disk_IO, cpu_free, mem_free, disk_free based on
            data  I/O  times in around 1000 jiffies, 0 <= each <=
            100

       GUA  guarantee value, gua = (fit >> 5) + 1, so 1<= gua  <=
            8

       FIT  fitness  value,  new_fit  =  (obj0, obj1, obj2, obj3,
            obj4) X (base_free, system_free, cpu_free,  mem_free,
            disk_free) * (1/2) + old_fit * (1/2), 0 <= fit < 256

       RUN  run  times,  process(or queue) run times(20 ticks) in
            around 1000 jiffies.

       CNT  counter, this  is  the  counter  field  in  the  task
            struct.

       PRI  priority,  process  priority,  -20<=  unix  <20, 0 <=
            linux <40

       RTP  rt_priority, real-time priority, used  for  real-time
            short-cut(RR or FIFO)

       CMD  commands, commands are running in the system



If you like it, see INSTALL showing you how to intall 
Evolution Scheduling on Linux.

Thanks to every one who sends bug reports/fixes, commentary, etc.


Have fun,

Jinlong Lin
linjinl@charlie.cns.iit.edu
http://www.iit.edu/~linjinl/esep.html
http://www.iit.edu/~linjinl/xesep.html

INSTALL

INSTALL for esep (Evolution Scheduling and Evolving Processes)
Version 1.4, dated October 3, 1997 
Version 1.3, dated August 10, 1997 
Version 1.2, dated July 4, 1997 

Only three steps to install this scheduler.
First, don't forget to unpack this package.

  gzip -dc esep.tgz | tar -xvf -     --- you can't count this a step...
 
1. do_patch    
   This copies four patched files, sched.c, sched.h, fork.c, and entry.S
   to your linux directory, and updates old files. 
   Supposed that your linux directory is /usr/src/linux, if it's not,
   edit do_patch to change it.

2. rebuild your kernel, and you know how to do it
 
3. make install
   This compiles the file, esep.c, to be esep executable
   and copies program esep and manual esep.1.gz to 
   /usr/local/bin and /usr/man/man1 respectively. 

Note: You can do step 3 before step 2. I think it's OK!
      After step 2, don't forget to reboot the new kernel.

 
That's it. So simple. Please try it yourself.


Thanks to every one who sends bug reports/fixes, commentary, etc.


Have fun, and have a good day.

Jinlong Lin
linjinl@charlie.cns.iit.edu
http://www.iit.edu/~linjinl/esep.html
http://www.iit.edu/~linjinl/xesep.html


ES2

RELATED PAPERS

Evolutionary Computation for Scheduling Controls in Concurrent Object-Oriented Systems

Scheduling Controls in Concurrent Real-Time Systems through Evolutionary Computation


OTHER LINKS

http://www.linuxhq.com/lg/issue20/lg_bytes20.html#software

http://www.xnet.com/~blatura/linapp1.html#sysad

http://SAL.KachinaTech.COM/C/1/

http://www.fokus.gmd.de/linux/linux-prog-xappl.html

http://www.linuxhq.com/lnxlists/linux-kernel/lk_9708_01/

http://aisun0.ai.uga.edu/~jae/ai-ec.html#esep & xesep

http://www.av.qnet.com/~rfeany/linux.html#soft

http://www.castrop-rauxel.netsurf.de/homepages/m.hussmann/linux.html

ftp://bellot:neptuio0@gw-gia5.univ-mrs.fr/home/bellot/.netscape/bookmarks.html

http://www.opali.fr/linux/linuxapps/textonly.html

http://nimbus.fokus.gmd.de/linux/linux-prog-new.html

http://www.welkin.org/cgi-bin/bookmarks/linux.pl

http://www.goober.demon.co.uk/linux/shell.html

http://linux.ucs.indiana.edu/hypermail/linux/kernel/9707.0/0252.html

http://www.linuxhq.com/lnxlists/cola/ca_9707/

http://www.linux-magazin.de/ausgabe.1997.10/Eycar/eycar.html

http://www.cocoon.net/cgibin/linuxsoft.pl?filearea=System+Administration+Tools

http://camelot.syr.edu/linux/scheduler.html

http://oak.ece.ul.ie/~griffini/linux_new.html

http://www.hex.net/~cbbrowne/linux.html

http://www.cs.inf.ethz.ch/~rauch/linux_links.html

http://cmp.felk.cvut.cz/~kybic/bookmarks.html#linux

http://test.linuxhq.com/llinks.html

http://www.ssc.com/linux/lsb/listing.html#jl


DREAMS COME TRUE

If you think that the patent "Evolving Processes and Evolution Schedulers" can help you earn in more than US$200,000, please contact me. (linjinl@charlie.cns.iit.edu)