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?
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.
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
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)