text:
Kaspersky Internet Security 2015 review
OS Support: Windows XP, Vista, 7, 8, 8.1, Minimum CPU: Dependent on OS, Minimum GPU: N/A , Minimum RAM: Dependent on OS, Hard disk space: 480MB
Kaspersky Internet Security 2015 has quite the reputation to live up to, with previous versions winning more awards than any other security product. Fortunately, things are off to a good start, with the software defending well against threats.
It achieved a protection rating of 287 out of 300, successfully defending our test PC against all but five of the threats we sent its way. A further four threats were neutralised after they had started to cause problems, and one piece of malware was able to sneak past Kaspersky and compromise the system. It also excelled when it came to legitimate software. It didn't block the installation of a single piece of downloaded software in our tests, achieving a perfect accuracy score 846.
^ Kaspersky leaves you under no false impressions that your PC is secure
Not only is it a highly accurate and responsive piece of software, it is also intuitively designed to make it easy for even security novices to tweak its settings. The Protection Center settings display a simple list of all of the suite's features, with toggle switches that allow you to enable to disable each one individually. If a particular option isn't sitting well with other software (we found the Anti-Spam add-on for Microsoft Outlook 2010 caused the email application to hang, for example) you can turn it off here.
You can ensure the software doesn't interrupt the everyday usage of your PC. Perhaps most important for gamers is the Gaming Profile, which switches off pop-up notifications while you're running a full-screen application. You can also set Internet Security 2015 to only perform updates and scans while your PC is idle, and give other applications and the operating system priority so scans won't take place until the software believes it won't cause any slowdown. This may be a risky endeavour, though, because underpowered PCs will often be operating at their limits. You'll need to keep an eye on whether Kaspersky Internet Security is ever actually given the opportunity to do its scans.
^ Kaspersky's interface is friendly and easy to use
To keep your financial data safe, you can also enable Safe Money, a dedicated secure browser made specifically to handle financial transactions. In order to use Safe Money, you'll need to tell Kaspersky which websites you'd like to open the specialised browser. When you visit a website you've added to the list, the Kaspersky browser add-on will suggest you open the Safe Money browser.
Kaspersky once again finds itself right at the top of the home anti-virus suites with terrific protection scores and excellent software. However, it's just out-done by Symantec Norton Internet Security 2015, which has a similar excellent range of tools and utilities, and even better protection scores.
|System requirements
|OS Support
|Windows XP, Vista, 7, 8, 8.1
|Minimum CPU
|Dependent on OS
|Minimum GPU
|Minimum RAM
|Dependent on OS
|Hard disk space
|Buying information
|Price including VAT
|Product code
|Internet Security 2015


text:
WALLA WALLA - Most of the groups in a prep golf tournament at Veterans Memorial Golf Course beat Tuesday's downpour.
DeSales hosted the four-school matchup. The Irish boys and girls both placed second.
Pomeroy won the boys match, but DeSales' Ryan Baumgart was medalist, shooting 73 on the par-72 course.
He was two strokes over on the back, but still had a good day, said DeSales golf coach Lon Olson.
"He lost it a little on the back nine, but I really wouldn't call that losing," Olson said.
Pomeroy's scores were Trevor Koberstein 80, Joel Meyers 83, Ryan Koberstein 87, Austin Starin 92 and Anthony DellaMaggiora 112.
DeSales' scores were Baumgart's 73, Bryce Scott 85, Kyle Konen 94, Ben Konen 102 and Justin Meyer 106.
Mat Zimmerman shot a non-counting 127 and Chris Xie finished 13 holes before the rain started, shooting 62 on the front nine.
Waitsburg-Prescott golfer Dakota Baker shot a 98.
Tekoa-Oakesdale-Rosalia scored 474 and St. John-Endicott 533.
Two girls golfed per team. St. John-Endicott had a low score of 201, DeSales had 232 and Tekoa-Oakesdale-Rosalia had 276.
St. John-Endicott's Erin Schuster was medalist, shooting 98.
DeSales' girls scores were Ashton Montgomery, shooting 114, and Kelly Martin, 118.
DeSales' Alyssa Lyons shot 74 and Bethany Konen 75 on the front nine before being rained out at the 15th hole.
Mac-Hi's Allison Varady shot 108.
"I continue to see our scores coming around," Olson said. "Anytime we can shoot 110 and under, that's our goal."
This match accomplished that.
"The boys are there - this was by far our best team outing, and possibly for the girls but we couldn't get all the holes in," he said.
All but two groups finished before heavy rain began to fall. One of those groups, from Tekoa-Oakesdale-Rosalia, was determined to finish.
"Those boys came in soaking wet," Olson said.
The greens were aerated last week, slowing them down, he said.
"Putting was slow and a little bumpy, but the scores weren't too bad in those conditions," he said.
DeSales, Dayton and Tri-Cities Prep play at noon next Thursday at Columbia Point in Richland. Liberty Christian is hosting the match.
More like this story
Use the comment form below to begin a discussion about this content.

subset: commoncrawl


text:
Home > Bath & Spa > Therapy & Wellness > Oral Care Solutions > Everyday GLO™ Teeth Whitening Maintenance
Everyday GLO™ Teeth Whitening Maintenance
Promotes gum health, whitens teeth and freshens breath
Increase your whitening results with a travel-sized maintenance kit.
- Vitamin-rich formula whitens teeth, promotes gum health and freshens breath
- Erases stains from coffee, tea and red wine in between whitening treatments
- Helps promote oral health
- Fresh mint flavor
- No brushing or rinsing necessary
- Sleek case for use anywhere
- Improves whitening results when used daily with the GLO Brilliant Teeth Whitening System (sold separately)
Dinner party? Coffee date? Bring along Everyday GLO Teeth Whitening Maintenance. The unique scrubbing applicator instantly lifts stains caused by coffee, red wine and more while simultaneously freshening your breath and whitening your teeth. Instantly add a high-gloss shine to your smile and improve your whitening results when used daily. Plus, the vitamin-rich, antioxidant formula contains xylitol which helps prevent plaque from sticking to teeth and decrease the likelihood of tooth decay.
Put your best smile forward all day long. Purchase Everyday GLO™ Teeth Whitening Maintenance from Brookstone today!
Everyday GLO™ Teeth Whitening Maintenance
Shopping Cart


text:
The Charleston Museum's new fashion exhibition, Fashion Flashback, 1920s-1960s: Five Decades of Style that Changed America will run from January 12 through June 14, 2015 in the Historic Textiles Gallery. This will be a journey back through time with a decade-by-decade look at clothing styles, beginning with an exploration of the hip 1960s and working backward to the swinging 1920s. Women's and men's clothing and accessories will be displayed, offering a light-hearted look at fifty years of fashion.
Learn More!
A new Natural History exhibit, From Land to Sea: 35 Million Years of Whale Evolution will run from February 9 through August 10, 2015, in The Charleston Museum's Lobby gallery. This exhibit will display whale fossils dating as far back at the late Eocene (roughly 35 million years ago) as well as the Oligocene (spanning from 33 to 23 million years ago). This exquisite and internationally renowned collection gives researchers an important look at how whales have evolved from their terrestrial ancestors. Modern whale specimens will also be displayed to show just how much whales have changed through time.Learn More!
Founded in 1773, The Charleston Museum is, in fact, America's first. Needless to say, over the centuries the Museum has acquired many incredible artifacts. A myriad of items exemplifying the rich history of South Carolina, the Lowcountry, and Charleston itself are on display permanently. However, one must also wonder about the artifacts not typically displayed in our formal galleries. Furthermore, with such a magnificent, vast collection as well as an intelligent and passionate curatorial staff, The Charleston Museum has incredible resources. We would like to use these resources to share more with the public. Therefore, the Museum will now be offering a special monthly exhibit, titled Storeroom Stories, which highlights a specific and unique artifact, personally hand-picked by a curator to share with the public.
A "story" related to each item will be included along with its description, providing the viewer a unique and intimate perspective on each individual piece. This an incredible opportunity for the public to take a look into our collections as well as see some of the items that our curators are most excited about sharing with you! We invite you to keep up with Storeroom Stories via our website, blog, Facebook, or twitter account. Please come and take a peek into our storeroom, view some of the pieces our curators our most passionate about, and learn the story behind these incredibly historic items!


text:
Home > Archives
Wednesday October 10, 2012
IN THE SPORT-LIGHTBy LIM TEIK HUAT
IT IS not cheap to build an indoor velodrome, which explains why only a handful of Asian countries have one.
An indoor velodrome, like a swimming pool, is one of the costliest sports facilities to build and it is the public's hope that it is properly maintained and does not become a white elephant.
It took two years for the government to say "yes" after careful evaluation and deliberation and include it in the 2013 Budget with a proposed allocation of RM80mil, which also includes the construction of a new badminton academy in Bukit Kiara.
Cyclists in the country have been clamouring for a new track that is in line with international specifications.
The Velodrome Rakyat in Ipoh is a timber track while the Kuala Lumpur Velodrome in Cheras is a concrete 333m outdoor track.
Both velodromes, managed by their respectivey City Halls, are outdated as the current rules specify that world class races must be be held on 250m timber track.
This brings us to the question as to how it is to going to benefit the cycling community.
Youth and Sports Minister Datuk Seri Ahmad Shabery Cheek got an idea of what to propose to the government after visiting the Darebin International Sports Centre in Melbourne.
The centre houses the Victorian Bowls Centre, a state cycling indoor velodrome and the state Australian football centre.
The velodrome, one of several in the state of Victoria and the second in Melbourne, has a 250m indoor timber cycling track with seating for more than 500 people and standing room for 400 spectators and an indoor synthetic bowls green at the centre of the velodrome.
It cost A$16mil to build and plans for the new velodrome in Nilai is believed to be of a similar scale and will be a joint-venture with Sime Darby.
Ideally, it should also be a one-stop centre for several academies, including badminton and cycling, while the private sector can run a driving range or tennis courts.
It will be part of a plan to develop the Nilai area into a sports and education hub and its proximity to the Kuala Lumpur International Airport (KLIA) in Sepang should ensure that it is not under-utilised.
More importantly, it will be a boon to cycling in the country and help to further promote the sport.
Malaysian National Cycling Federation (MNCF) president Abu Samah Wahab has been quoted as saying that Malaysia could host a leg of the Track World Cup Classics in 2015 as the new velodrome is supposed to be ready before the Rio Olympics the following year.
If it comes true, then Malaysia will be the third host country in Asia after China and Kazakhstan.
Interestingly, it will be much easier on the cyclists chasing qualification for the Rio Olympics because it will mean less travelling time.
Participation in the World Cup Classics are necessary to have any chance to fight for the coveted spots at stake for the track disciplines at the Olympics and it is better for the cyclists to fight in their own backyard than travel halfway around the world to do so.
For the coming 2012-2013 season, track cyclists will be competing in Colombia, Scotland and Mexico.
The country's No. 1 track cyclist Azizulhasni Awang, who reached the London Olympic final, said the velodrome would boost the country's image.
"Local cyclists have been waiting for a long time for this as there is a dire need for the country to construct a world-class indoor track," he said.
"I trained and raced at the Cheras velodrome during the Asian Cycling Championships earlier this year but the facilities there are outdated ... training is risky and can lead to injuries."
Neighbours heard cries of children being beaten
RM1mil reward offer for information on Dr M's alleged misdeeds
Body of child found buried in kitchen
'Wild' party ends for 51 at popular mall
Money down the drain
Man killed after car smashes into toll booth barrier
Copyright © 1995-2015 Star Media Group Berhad (ROC 10894D)(Formerly known as Star Publications (Malaysia) Berhad)


text:
Below is a selection of search results matching: Colonic Irrigation Southport
Detox In The City
Southport, Queensland
STOP!!! $60 on going Colonics $70 first visit with Colonic and Consultation. Also healthy shots supplied to replace happy and friendly...
Leonie Kaye
Taringa Health Centre
Surfers Paradise, Queensland
Taringa Health Centre no longer performs Colonic Irrigation as we have retired. However we would be pleased to refer you to other...
John Bruniges
0409 045 473
0409 045 473
Fountain of Inner Health
Bundall, Queensland
Colon Hydrotherapy, Detox, Parasite Treatment, Acidosis, Infrared Sauna,Weightloss
07 5526 8131
Beyond Living health
Chevron Island, Queensland
Located in the heart of of the Gold Coast on Chevron Island, Beyond Living Health are specialists in colon hydrotherapy, detox programs...
Clear Colonics
Reedy Creek, Queensland
Sally is a registered Colon Therapist, Classical Homeopath and Iridologist who specializes in digestive problems and general...
Sally Hawkins
(07) 5593 6819
0421 477 545
WEST BURLEIGH, Queensland
Integrated Ayurvedic-Chinese-Modern Naturopathy. Over 30 years experience in Health Care and combining Ancient Wisdom with modern...
Dr. Thomas Bige
07 5520 2766
The Colonic Clinic
Burleigh Heads, Queensland
The Colonic Clinic specializes in Colon Hydrotherapy - Holistic cleansing to remove disease causing toxins from your body.
Simone Jones
07 5520 3887
Oasis Colon Hydrotherapy
Nerang, Queensland
Colon Hydrotherapy Detox Programs Weight Management Programs Ionic Foot Detox Vibrosaun Indican...
Rosemary Greer
07 5596 2323
A1 Colon Hydrotherapy - BRISBANE & GOLD COAST
Oxenford, Queensland
Discover the benefits that a Colonic Hydrotherapy Treatment can bring to your health and wellbeing and give us here at A1 Colon...
Carolyn Burnett
(07) 3312 4481
0401 383 047
Palm Beach, Queensland
Diann has over 20 years experience in the Natural Health Industry and is now bringing all her expertise together under the one...
07 5520 1000


text:
Ramayanam: Damal Ramakrishnan, Perundevi, Asthika Samajam, Venus Colony, 6.30 p.m.; Madhivannan, Varasidhi Vinayagar Asthiga Samajam, New Colony, Adambakkam, 7 p.m; P.N. Ramamoorthy Dikshitar, P.R. Mohanarama Dikshitar, Tansi Dhandeeswarar Nagar, Sundara Vinayakar Temple, Velachery, 7 p.m.
Mahabharatam: S. Rajagopal, Perambur Kanika Kazhagam, 12, Gurumurthy Gardens, 10 a.m.
Gita: Bodhamayananda, Ramakrishna Mission Ashram, 3, M.S. Salai, T Nagar, 5.30 p.m.
Mandukya Upanishad: Vasudevan, 4, New Beach Road, Thiruvalluvar Nagar, Thiruvanmiyur, 4.30 p.m.
Katha Upanishad: Atmashraddhananda, Sri Ramakrishna Math, Mylapore, 5.45 p.m.
Periyapuranam: Sivasree Siva, Marundeeswarar Temple, Thiruvanmiyur, 7 p.m.
Thiruvasagam Parayanam: S. Rajarethinam Oduvamoorthy, Marundeeswarar Temple, 9 a.m.
Viveka Choodamani: Kallay Prasanth, 370/5, 100 Ft Bypass, Velachery, 6 p.m.; Satyavratananda, Kesari High School, Pondy Bazaar Extn, 6 p.m.
Sundarakandam: B. Sundarakumar, Siva Vishnu Temple, Eswari Nagar, Pallavaram, 6.30 p.m.
Swami Vivekananda and Hinduism: Vimurtananda, Sri Ramakrishna Math, 5.30 p.m.
Thayumanavar: P. Venkatesan, Kothandaramar Temple, Old Washermanpet, 4 p.m.
The Mother: Keik Ravi, 5, Smith Road, Anna Salai, 10 a.m.
Meditation: A. Venkatesan, Ramana Kendra Trust, 41, Alarmelumangapuram, Mylapore, 5 p.m.
Nama Sankeerthan: Kovai S. Jayaraman, Padma Seshadri School, KK Nagar, 7 p.m.
Raghuveera Gadhyam: Krishnan Swamigal, Sathyanarayana Perumal Temple, Thillaiganga Nagar, 7 p.m.
Ability Foundation, CIOSA: "Celebrate Creativity in and through Disability", Russian Cultural Centre, 5 p.m.
Mudhra: Tamil Ghazals, Ramakrishna Mission Matric. HSS, Bazullah Rd, T Nagar, 6.05 p.m.
Ethiraj College for Women: Annual Convocation, 4 p.m.
Federation of North Chennai Welfare Associations: Inception, Gym Park Grounds, Srinivasan Street, Krishnamurthy Nagar, 3 p.m.
Choolaimedu Exnora Innovator's Club: Presentation of Exnora Excellence Award, Karur Vyasa Bank, Sowrastra Nagar, Choolaimedu, 11 a.m.
VECT: Cancer, TB awareness and first anniversary, Perambur Annadana Samajam, Meenatchi Street, Perambur, 3.30 p.m.
People's Educational Trust: Monthly meeting, Dr Ambedkar Academy, 24th Street, Anna Nagar East, 6.30 p.m.
Millath Baithulmal, Perambur: `What Next After Plus 2', interactive programme for students and parents, Gandhiji Memorial School, 241, Paper Mills Road, Perambur, 9.30 a.m.
Dhanraj Baid Jain College: Evening College Day Celebrations, 4 p.m.
Alandur Fine Arts and Arun Creations: Felicitation function, Kamarajar Hall, 8.30 p.m.
Sath Seva: Cleaning of Temple, Kodiamman Masilamaniswarar Temple, Thirumullaivoyar, 8 a.m.
Federation of Sand Trucks Welfare Association: Road safety camp, Areva Workers Welfare Association Hall, Pallavaram, 10 a.m.
The Madras Sanskrit College & SSV Patsala: `Paduka Pattaabhishekam' by R. Aaravamudachariar, Sanskrit College, Mylapore, 6.30 p.m.
Besant Nagar Humour Club: Crazy Mohan and N.C. Sridharan participate in meeting, RBI Staff Quarters, Besant Nagar, 4 p.m.
Chromepet Humour Club: meeting, Vasantha Mandapam, Radha Nagar, SCS School, Ramachandra Rd, 10.30 a.m.
JK Study Circle: Meeting, 3, Kamala Street, Kumaran Kunram, Chromepet, 5.30 p.m.
Malabar Muslim Association: ULEMA conference, Hotel Singapore, Kennet Lane, Egmore, 6.30 p.m.
Bright Kids Preschool: Opening ceremony, 17 Anna Avenue, Bakthavatchalam Nagar, Adyar, 8.30 a.m.
Jewellery exhibition: Sri Sankara Hall, Alwarpet, 11 a.m.
Sri Aurobindo Society Centre: Talk `Spiritual Cure for Ailments', by B. Muralidharan, AP 514, J block, 8th Street, Anna Nagar, 10 a.m.
Narada Gana Sabha: Muthuswami Dikshitar Day, Ambujam Vedantham, 4.15 p.m.
TGN Foundation: `Secret of Success', audio presentation of speech by T.G. Narayanaswamy, 36/Hayagrivar Apts, Nathamuni St, Anna Nagar, 7 p.m.
Vanavil Panpattu Maiyam: Book release, Narada Gana Sabha, TTK Salai, 6 p.m.
Friends Family Welfare Association: `Variety Literary Programme', Nehru Nagar, Erukkancheri, 9.30 a.m.
University of Madras: NSS special camp, Mullipakkam village, 4 p.m.
Chennai Hindu Good Templars' League: AIDS awareness camp, Park Railway Station, 10 a.m.
Vaasal Poetry Association: Anniversary Vyabarigal Sangam Marriage Hall, 7, VOC Salai, Gandhinagar, Madipakkam, 9.30 a.m.
Balakrishna Eye Hospital and Eye Research Centre: Launch of JA School of Yogasana, Kaveri Nagar, Saidapet, 3 p.m.
Chennai Toastmaster Club: Meeting, Presidency Club, Egmore, 4 p.m.
Mahavir International: Eye screening camp for free cataract surgery, Tarachand Galada Jain Vidyalaya, 44, Madley, 1st Street, T Nagar, 9.30 a.m.
Lions Club of Chennai Ambassadors: Training programme for youth, League Club. 100 Feet Rd, Arumbakkam, 9.30 a.m.
Lions Club International: Key Members get-together, Hotel Savera, 9.30 a.m.
Lions Club of Fort St George: Meeting, 447/130, Mint Street, 10.30 a.m.
Rotary Club of Madras Coromandel: Meeting, Alumni Club, 8.30 a.m.
Rotary Club of Madras Vadapalani: `For the Sake of honour Award 2005-2006', Hotel Aadithya, Vadapalani, 8.30 a.m.
Alcoholics Anonymous: Assumption School, St Theresa Church, Nungambakkam High Road, 10.30 a.m.; St Mathias Church, Kamarajar Salai, KK Nagar, 11 a.m.; St Peter's Church, Vyasarpadi, 11.30 a.m.; Chit Kala School, 5, 4th Main Road, Indra Nagar, Adyar, 3 p.m.; St Francis Xavier's Church, Broadway, 5.30 p.m.; Kesari School, T Nagar, 7 p.m.


text:
by White Hills
- Record Label: Thrill Jockey
- Release Date: Jun 20, 2011
- Summary: The latest album for the Brooklyn rock band led by Dave W. features a 17-minute-long track.
- Record Label: Thrill Jockey
- Genre(s): Pop/Rock, Alternative/Indie Rock, Alternative Pop/Rock
- More Details and Credits »
Score distribution:
Positive: 10 out of 12
Mixed: 2 out of 12
Negative: 0 out of 12
Aug 12, 2011Rock music's era of overarching influence on culture has no doubt passed into the historical twilight, but artistry and ambition in the form is alive and well on records like Hp-1.
Jun 30, 2011In spite of the ostensible lull of its distorted, discordant undertow, the album forcibly draws attention, not just to itself, but to the corrupted world around it. Rarely has an album so narcotic felt so sobering.
Jun 30, 2011It's easy to see how the impact of this sort of music might be lost on record, but White Hills put their studio to great use here, proving they can sound both impressively cohesive and totally baked.
Dec 12, 2011Might well be their strongest, most brain-mulching statement to date. [Aug. 2011, p. 106]
Jul 7, 2011If one didn't care for White Hills before, this won't change a mind. Of their recorded material, however, White Hills' latest is perhaps their best; short of an in-person experience of the band's eardrum-shattering performances
Aug 3, 2011Some listeners might run screaming but the band's tenacity is admirable, which keeps it exciting.
Aug 17, 2011H-p1 is a slightly more adventurous outing than usual, due to the recruitment of synth player Shazzula, but the additional textures, pleasing as they are, fail to revolutionize what is essentially record collection rock. [Jul 2011, p.58]
Score distribution:
Positive: 0 out of
Mixed: 0 out of
Negative: 0 out of
|Doolittle 25 - Pixies
|Physical Graffiti [Remastered] - Led Zeppelin
|To Pimp A Butterfly - Kendrick Lamar
|Black Messiah - D'Angelo
|The Smithsonian Folkways Collection [Box Set] - Lead Belly
|Bouquets from a Cloudy Sky: The Complete Pretty Things Collection [Box Set] - The Pretty Things
|Carrie & Lowell - Sufjan Stevens
|No Cities to Love - Sleater-Kinney
|G Stands For Go-Betweens, Vol. 1 [Box Set] - The Go-Betweens
|Apex Predator - Easy Meat - Napalm Death
|Hand.Cannot.Erase. - Steven Wilson
|The Fade in Time - Sam Lee
|The Mindsweep - Enter Shikari
|From Kinshasa - Mbongwana Star
|Sometimes I Sit And Think, And Sometimes I Just Sit - Courtney Barnett
|Choose Your Weapon - Hiatus Kaiyote
|Extra Painful - Yo La Tengo
|Complicated Game - James McMurtry
|Ten Love Songs - Susanne Sundfør
|Vulnicura - Björk


text:
You won't be able to dismiss this by usual means (escape or click button), but you can close it programatically based on user choices or actions.
"Beautiful design but it does not state what kind of event the invitation is for. We realized this after we received the cards. We were still happy with the quality but disappointed that we did not realize it sooner."
"Loved the feel of the matte card, way better than the average paper card or photo card. Was easy to customize. After purchased, received the cards within a week! Will be ordering other cards for our wedding!"
"They came out better than we expected! Awesome work. We will be getting our wedding invitations from you as well, plus the other little things we need."
"This card came out so beautiful - the wording was legible over top the photo, which is something I was nervous about. We are thrilled!"
"Paper quality was fantastic. Arrived on time & in better than perfect condition. These invitations made me feel like I had an original invitation unlike any other while still being simple enough to keep the entire process stress free."


text:
How to Clog Dance
Clogging is a dance. It is even the state dance of a few countries.
1Try to [[Pick the Right Shoes|buy some shoes that are for clogging]]. You can go online to find these. Or you could try to find a store.Ad
2Find a clogging instructor. Try to find a CCI. This stands for Certified Clogging Instructor.
3Do some research outside of wikiHow to learn more about clogging. If you learn more about it it can really help you become better at it.
4Practice the steps you learn each day. Everything can get better with only one thing, and that is practice.
5Buy some clogging music. Listening to the music could again help you greatly.
6Get advice from somebody that can clog. If they are experienced enough they can help A LOT.Ad
We could really use your help!
cooking with tuna?
rate articles?
weight loss?
car maintenance?
civic involvement?
- If you have any extreme muscle fatigue you should take a least a five to fifteen minute break if not more.
- Remember not to hurt yourself. Almost any dance can lead to injury.


text:
Sun-Times ordered to pay $37.5 million
June 12, 2009
A federal judge ordered Sun-Times Media Group Inc. in Chicago to pay shareholders $37.5 million to settle allegations the company misled investors.
The alleged fraud occurred while Conrad Black was in charge of the company.
Black is currently serving time for obstruction of justice and misuse of company funds. This week, the Supreme Court denied Black's request for bail.
Black is appealing his convictions.
The award to shareholders applies to investors who bought stock from Aug. 13, 1999, to March 31, 2003, Crain's Chicago Business reported Friday.
Source: upi


text:
Designing a process migration facility: The Charlotte experience Yeshayahu Artsy Raphael Finkel Digital Equipment Corporation Computer Science Department 550 King Street University of Kentucky Littleton, Massachusetts 01460 Lexington, KY 40506-0027 1998 addresses email@example.com email@example.com This paper was published in IEEE Computer 22: 9, pp. 47-56, September 1989. Key words: Operating Systems, Distributed Systems, Process Migration, System Design Abstract Our goal in this paper is to discuss our experience with process migration in the Charlotte distributed operating system. We also draw upon the experience of other oper- ating systems in which migration has been implemented. A process migration facility in a distributed operating system dynamically relocates processes among the component machines. A successful process migration facility is not easy to design and implement. Foremost, a general-purpose migration mechanism should be able to support a range of policies to meet various goals, such as load distribution, and improved concurrency, and reduced communication. We discuss how Charlotte's migration mechanism detaches a running process from its source environment, transfers it, and attaches it into a new envi- ronment on the destination machine. Our mechanism succeeds in handling communica- tion and machine failures that occur during the transfer. Migration does not affect the course of execution of the migrant nor that of any process communicating with it. The migration facility adds negligible overhead to the distributed operating system and pro- vides fast process transfer. Designing a process migration facility 1 1. Introduction Our goal in this paper is to discuss our experience with process migration in the Charlotte distributed operating system. We identify major design issues and explain our implementation choices. We also contrast these choices with other migration implemen- tations in the literature. This paper provides insights both into the specific task of imple- menting process migration for distributed operating systems and into the more general task of designing such systems. A preemptive process migration facility dynamically relocates running processes between peer machines in a distributed system. Such relocation has many advantages. Studies have shown that it can be used to cope with dynamic fluctuations in loads and ser- vice needs1, to meet real-time scheduling deadlines, to bring a process to a special device, or to improve the fault-tolerance of the system. Yet successful process migration facili- ties are not commonplace in distributed operating systems234567. The reason for this paucity is the inherent complexity of such a facility and the potential execution penalty if the migration policy and mechanism are not tuned correctly. It is not surprising that some operating systems prefer to terminate remote processes rather than rescue them by migra- tion. We can identify several reasons why migration is hard to design and implement. The mechanism for moving processes must be able to detach a migrant process from its source environment, transfer it with its context (the per-process data structures held in the kernel) and attach it in a new environment on the destination machine. These actions should complete reliably and efficiently. Migration may fail in case of machine and com- munication failures, but it should do so completely. That is, the effect should be as if the process was never migrated at all, or at worst as if the process had terminated due to machine failure. A wide range of migration policies might be needed, depending on whether the main concern is load sharing (avoiding idle time on one machine when another has a non-trivial work queue), load balancing (such as keeping the work queues of similar length), or application concurrency (mapping application processes to machines in order to achieve high parallelism). Policies may need elaborate and timely state information, since otherwise unnecessary process relocations may inflict perfor- mance degradation on both the migrant process and the entire system. The mechanisms to support different policies might differ significantly. If several policies are used under different circumstances, the migration mechanism must be flexible enough to allow pol- icy modules to switch policies. The migration mechanism cannot be completely sepa- rated from process scheduling, memory management, and interprocess communication. Nevertheless, one would prefer to keep mechanisms for these activities as separate from each other as possible, to allow more freedom in testing and upgrading them. The fact that a process has moved should be invisible both to it and its peers, while at the same time interested users or processes should be able to advise the system about desired pro- cess distribution. The process migration facility implemented for Charlotte is a fairly elaborate addi- tion to the underlying Charlotte kernel and utility-process base. It separates policy (when to migrate which process to what destination) from mechanism (how to detach, transfer, Designing a process migration facility 2 and reattach the migrant process). While the mechanism is fixed in the kernel and one of the utilities, the policy is relegated to a utility and can be replaced easily. The kernel pro- vides elaborate state information to that utility. The mechanism allows concurrent multi- ple migrations and premature cancellation of migration. It leaves no residual dependency on the source machine for the migrant process. The mechanism copes with all conceiv- able crash and termination scenarios, rescuing the migrant process in most cases. The next section presents an overview of Charlotte, and Section 3 presents its pro- cess migration facility. In Section 4 we discuss the issues encountered in building Char- lotte's migration facility that have general application for any such facility. In discussing each issue, we present alternative design approaches adopted by other process migration facilities. We leave out the discussion of specific migration policies, as they are beyond the scope of this paper. We hope this account will give assistance to others contemplating adding a process migration facility, as well as advice to those designing other operating system facilities that may interact with later addition of process migration. We conclude with a brief list of concrete lessons and suggestions. 2. Charlotte overview Charlotte is a message-based distributed operating system developed at the Univer- sity of Wisconsin for a multicomputer composed of 20 VAX-11/750 computers connected by a token ring9. Each machine in Charlotte runs a kernel responsible for simple short- term process scheduling and a message-based inter-process communication (IPC) proto- col. Processes are not swapped to backing store. A battery of privileged processes (utili- ties) runs at the user level to provide additional operating systems services and policies. The kernel and some utilities are multithreaded. Processes communicate via links, which are capabilities for duplex communication channels. (The high-level language Lynx10 actually hides this low-level mechanism and provides a remote procedure call (RPC) interface.) The processes at the two ends of a link may both send and receive messages by using non-blocking service calls. A process may post several such requests and await their completion later; it may cancel a pending request before that request completes. A link may be destroyed or given away to another process even during communication. In particular, a link is automatically destroyed when the process holding its other end terminates or its machine crashes; the process holding the local link end is so notified by the kernel. The protocol that implements communica- tion semantics is efficient but quite complex11. It depends on full, up-to-date link infor- mation in the kernels of both ends of each link. Processes are completely unaware of the location of their communicating partners. Instead, they establish links to servers by hav- ing other processes (their parents or a name server utility) provide them. Utility processes are distributed throughout the multicomputer, cooperating to allo- cate resources, provide file and connection services, and set policy. In particular, the KernJob (KJ) utility runs on each machine to provide a communication path between the local kernel and non-local processes. The Starter utility creates processes, allocates memory, and dictates medium-term scheduling policy. Each Starter process controls a subset of the machines; it communicates with their kernels (directly or via their KJs) to Designing a process migration facility 3 receive state information and specify its decisions. 3. Process migration in Charlotte Charlotte was designed as a platform for experimentation with distributed algo- rithms and load distribution strategies. We added the process migration facility in order to better support such experiments. Equally important, we wanted to explore the design issues that process migration raises in a message-based operating system. Figure 1 shows the effect of process migration. For convenience, throughout the paper we call the kernel on the source and destination machines S and D, respectively, and use P to represent the migrant process. During transfer, P's process identifier changes, and the kernel data structures for it are completely removed from S, but the transfer is invisible to both P and its communication partners. source destination source destination B F B F A A G G P P C C H H E E KJ KJ KJ KJ S D S D before after Figure 1: Example of migration As shown, P's links are relocated to the new machine. All processes continue to name their links the same after migration; they are unaware that link descriptors have moved sites and that local communication (performed in shared memory) has become remote communication (sent over the wire) and vice versa, and they see no change in message flow. 3.1. Policy Migration policy is dictated by Starter utility processes. They base their decisions on statistical information provided by the kernels they control and on summary informa- tion they exchange among themselves. In addition, Starters accept advice from privileged utilities (to allow manual direction of migration and to enable or disable automatic con- trol). When messages carrying statistics, advice, or notice of process creation or termina- tion arrive, the Starter executes a policy procedure. (Introducing migration into the Starter only required writing that policy procedure and invoking it at the right times.) The policy procedure may choose to send messages to other Starters or to request some source kernel to undertake migration. Such requests are sent to the KernJob residing on the source machine to relay to its kernel. As discussed later, this approach adds Designing a process migration facility 4 insignificantly to the cost of migration (a few procedure calls and perhaps a round-trip message), while it allows policies that integrate scheduling and memory allocation as well as local, clustered, or global policies. 3.2. Mechanism The migration mechanism has two independent parts: collecting statistics and trans- ferring processes. Both parts are implemented in the kernel. Statistics include data on machine load (number of processes, links, CPU and net- work loads), individual processes (age, state, CPU utilization, communication rate), and selected active links (packets sent and received). These statistics are intended to be com- prehensive enough to support most conceivable policies. We collect statistics in the fol- lowing way. Condition Action Significant event: message sent or received, Increment associated count data structure freed process created or terminated Sample process states Interval passes and CPU, network loads Summarize data, Period of n intervals passes Send to starter To balance accuracy with overhead, we used in our tests an interval of 50 to 80 ms and a period of 100 intervals (5 to 8 seconds). The overhead for collecting statistics was less than 1% of total cpu time. Transferring processes occurs in three phases. (1) Negotiation. After being told by their controlling Starter processes to migrate P, S and D agree to the transfer and reserve required resources. If agreement cannot be reached, for example because resources are not available, migration is aborted and the Starter that requested it is notified. (2) Transfer. P's address space is moved from the source to the destination machine. Meanwhile, separate messages are sent to each kernel controlling a process with a link to P informing that kernel of the link's new address. (3) Establishment. Kernel data structures pertaining to the migrant process are mar- shaled, transferred, and demarshaled. (Marshaling requires copying the structure to a byte-stream buffer, and converting some data types, particularly pointer types.) No information related to the migrant is retained at the source machine. Process-kernel interface We added four kernel calls to the process-kernel interface. Designing a process migration facility 5 Statistics(What : action; Where : address) The KernJob invokes this call (on behalf of a Starter) so that the kernel will start col- lecting statistics and placing them in the given address (in the KernJob virtual space). The call can also be used to stop statistics collection. MigrateOut(Which : process; WhereTo : machine) This call enables the Starter (or its KernJob proxy, if the Starter resides on another machine) to initiate a migration episode. Boolean; Memory : list of physical regions) MigrateIn(Which : process; WhereFrom : machine; Accept : The Starter (or its KernJob proxy) uses this call to approve or refuse a migration from the given machine to the machine on which the call is performed. If Starters have negotiated among themselves, the Starter controlling the destination machine may approve a migration even before the one controlling the source machine calls MigrateOut. The Memory parameter tells the kernel where in physical store to place the segments that constitute the new process. (The Starter learns the segment sizes either through negotiation with its peer or from D's request to approve a migra- tion offer received from S.) CancelMigration(Which : process; Where : machine) The Starter invokes this call to abort an active MigrateIn or MigrateOut request. This call is rejected if the migration has already reached a commit point. None of these calls blocks the caller. The kernel reports the eventual success or failure of the request by a message back to the caller. Mechanism details Three new modules were created in the kernel to implement the migration mecha- nism. The migration interface module deals with the new service calls from processes. The migration protocol module performs the three phases listed above. The statistics module collects and reports statistics. These modules are invoked by two new kernel threads. The statistician thread awakens at each interval to sample, or average and report statistics to the Starter. A process-receiver thread starts in D for each incoming migrant process. It uses a simpler and faster communication protocol than that used by ordinary IPC.* However, negotiation and other control messages use the ordinary communication protocol and are funneled through the IPC queues in order to synchronize process and link activities. Figure 2 shows both high- and low- level negotiation messages. In our example, the left Starter process controls machine 1, and its peer controls machine 3. The first two messages represent a Starter-to-Starter negotiation that results in deciding to migrate pro- cess P from machine 1 to 3. Their decision is communicated to S in message 3, which is *The standard protocol must expect extremely complex scenarios that cannot arise in this conversation and must employ link data structures that are not germane here. The cost of introducing a streamlined protocol was slight in comparison to the speed it achieved. Designing a process migration facility 6 1: Will you take P? Star ter Star ter 2: Yes, migrate to machine 3 5: Offer P 6: MigrateIn P 3: MigrateOut P A B P KJ KJ KJ KJ KJ S D 0 1 2 3 4 4: Offer P 7: Accept offer Figure 2: Negotiation phase either a direct service call (if the Starter runs on machine 1) or a message to the KernJob on machine 1 to be translated into a service call. S then offers to send the process to D. The offer includes P's memory requirements, its age, its recent CPU and network use, and information about its links. If D is short of the resources needed for P, or if too many migrations are in progress, it may reject the offer outright. Otherwise, D relays the offer to its controlling Starter (message 5). The relay includes the same information as the offer from S. We relay the offer to let the policy module reject a migrant at this point. Although that Starter may have already agreed to accept P (in message 2), it may now need to reject the offer due to an increase in actual or anticipated load or lack of memory. Furthermore, the Starter must be asked because the kernel has no way to know if it has even been consulted by its peer Starter, and the Starter must allocate memory for the migrant. The Starter's decision is communicated to D by a MigrateIn call (message 6). No relay occurs if the Starter has already called MigrateIn to preapprove the migration. Before responding to S (message 7), D reserves necessary resources to avoid deadlock and flow-control problems. Preallocation is conservative; it guarantees success- ful completion of multiple migrations at the expense of reducing the number of concur- rent incoming migrations. After message 7 is sent, D has committed itself to the migration. If P fails to arrive and the migration has not been cancelled by S (see next), then the machine of S must be down or unreachable. D discovers this condition through the standard mechanism by Designing a process migration facility 7 which kernels exchange "heart-beat" messages and reclaims resources and cleans up its state. When message 7 is received, S is also committed and starts the transfer. Before each kernel commits itself, its Starter can successfully cancel the migration, in which case D replies Rejected to S (in message 7), or S sends Regretted to D (not shown). The latter also occurs if P dies abruptly during negotiation. To separate policy from mecha- nism, S does not retry a rejected migration unless so ordered by its Starter. Figure 3 shows the transfer phase. S concurrently sends P's virtual space to D (mes- sage 8) and link update messages (9) to the kernels controlling all of P's peers. Message 8 is broken into packets as required by the network. D has already reserved physical store for them, so the packets are copied directly into the correct place. Message 9 indi- cates the new address of the link; it is acknowledged (not shown) for synchronization pur- poses. After this point, messages sent to P will be directed to the new address and buffered there until P is reattached. Kernels that have not received message 9 yet may still continue to send messages for P to S. Failure of either the source or the destination machine during this interval leaves the state of P very unclear. Since it would require a very complex protocol (sensitive to further machine failures) to recover P's state, we opted to terminate P if one of these machines crashes at this stage. Finally, S collects all of P's context into a single message and sends it to D (message 10). This message includes control information, the state of all of P's links, and details of communication requests that have arrived for P since transfer began. Pointers in S's data structures are tracked down, and all relevant data are marshaled together. D demarshals A B P KJ KJ KJ KJ KJ S D 0 1 2 3 4 9: Link update 9: Link update 8: P's vir tual space 10: P's context Figure 3: Transfer phase Designing a process migration facility 8 the message into its own data structures. Although it is conceptually simple, the transfer stage is actually quite complex and time-consuming, mainly because Charlotte IPC is rich in context. Luckily, our design saves the migration mechanism from dealing with messages in transit to or from P. Since the kernel provides message caching but no buffering, a message remains in its sender's virtual address space until the receiver is ready to accept it or until the send is cancelled. Hence, S does not need to be concerned with P's outgoing messages; likewise, it may drop from its cache any message received for P that P has not yet received. Such a mes- sage will be requested by D from the sender's kernel when P requests to receive it. The link structures sent in message 9 clearly indicate which links have pending sent or received messages. Another advantage in our design is that we do not have to alter or transfer P's context maintained by distributed utilites, such as open files, which are accessed via location-independent links. The establishment phase is interleaved with transfer. Data structures are deallocated as part of marshaling, and the reserved ones are filled during demarshaling. After transfer has finished, D adjusts P's links and pending events and inserts P into the appropriate scheduling queue. Those communication requests that were postponed while P was mov- ing have been buffered by S and D; they are now directed to the IPC kernel thread in D in their order of arrival. (For each link, all those buffered at S precede those buffered at D.) Their effect on P is not influenced by the fact that it has moved. Finally, the Starter and KernJob processes for both the source and destination machine are informed that migra- tion has completed so they can update their data structures appropriately. A failure of either of the two machines at the transfer phase is detected by the remaining one, which will abort the migration, terminate the migrant, and clean up its state. 3.3. Performance We measured performance of migration in Charlotte on our VAX/11-750 machines connected by a Pronet token ring. The underlying mechanisms have the following costs. It takes 11 ms to send a 2 KB packet to another machine reliably via the general-purpose inter-machine communication package that Charlotte uses, 0.4 ms to switch context between kernel and process, 10 ms to transfer a single packet between processes residing on the same machine, and 23 ms to transfer a packet between processes residing on dif- ferent machines. We measured the average elapsed time to migrate a small (32 KB), linkless process as 242 ms (standard deviation = 2 ms), provided the Starter controlling D has preap- proved the migration. Each additional 2 KB of image adds 12.2 ms to the migration time. The following formula fits our measurements of the average elapsed time spent in migra- tion. Charlotte time = 45 + 78 p + 12. 2s + 9. 9r + 1. 7q Designing a process migration facility 9 p = 0 if D's Starter has approved migration in advance; else 1 if D's Starter is not on the destination machine; else about 0.2. s = size of the virtual space in 2-KB blocks r = 0 if all links are local; 1 otherwise q = number of non-local links (1 if none). These measures deviate by about 5% with different locations of the Starter and the overall load. This formula shows that it takes about 750ms to migrate a typical process of 100KB and 6 links (or 670ms if D's Starter is local), and about 6 seconds for a large pro- cess of 1MB. Actual CPU time spent on the migration effort for a 32 KB process with no links is about 60 ms for S and about 32 ms for D. Table 1 shows how this time is spent. S D 5.0 Handle an offer 5.4 Handle an offer 2.6 Prepare 2 KB image to transfer 1.2 Install 2 KB of image 1.8 Marshal context 1.2 Demarshal context 6.9 Other (mostly kernel context switching) 4.7 Other Table 1: Kernel time spent migrating a linkless 32 KB process Each link costs S an additional 1.6 to 2.8 ms of CPU time to prepare link-update mes- sages and to marshal relevant data structures. Collecting statistics requires about 1% of overall elapsed time, and another 2% of all time is spent delivering the statistics to the Starter. A production version of Charlotte, optimized and stripped of debugging code, could exhibit a significant speed improvement. It is hard to compare Charlotte's migration performance with results published for other implementations, because each uses a different underlying computer, and each oper- ating system dictates its own process structure. Nonetheless, to give the reader some form of comparison, we present formulas for migration speed under Sprite (Sun-3 work- stations, about 4 times faster than our VAX-11/750 machines), V (Sun-2, about 2 times faster than our machines), and Accent (Perq workstations). These formulas are extrapola- tions from a few measurement points reported elsewhere467. Sprite time = 200 + 3. 6s + 14 f V time = 80 + 6s Accent time = 1180 + 115s s = size of the virtual space in KB f = number of open files In particular, a "typical" 100KB process would be transferred in about 560ms in Sprite, 680ms in V, and perhaps 12.7 seconds in Accent. To migrate a large, 1MB process would take at least 3.8 seconds in Sprite, 6 seconds in V, and 116 seconds in Accent. In Accent, sending the context of a process occupies about 1 full second. The virtual space is sent later on demand, so the full cost of transfer is spread over a long period, but part of this Designing a process migration facility 10 cost is saved if not all the pages are referenced. V precopies the address space while the process is still running, so the lost time suffered by the process is quite short. 4. Design issues Designing a process migration facility requires that one consider many complex issues. We will discuss the separation of policy and mechanism, the interplay between migration and other mechanisms, reliability, concurrency, the nature of context transfer, and to what extent processes should be independent of their location. These issues inter- relate to one another, so the following discussion will occasionally need to postpone details until later sections. Moreover, the approaches that we and others adopt to various problems depend somewhat on the design of other components of the operating system. Due to space limitations, we do not discuss these dependencies in detail. 4.1. Structure The first step in designing a process migration facility is to decide where the policy- making and mechanism modules should reside. We believe that this decision is of major importance since it cannot be easily reversed, unlike most of the design of the migration protocol. Communication-kernel operating systems tend to put mechanism in the kernel and policy in trusted utility processes. In the case of process migration, mechanism is intertwined with both short-term scheduling and IPC, so it fits best in the kernel. Policy, on the other hand, is associated with long-term scheduling and resource management, so it fits well in a utility process. Several considerations affect the success of separation: how efficient the result is, how adequately it provides the needed function, and how con- ceptually simple are the interfaces and the implementation. Efficiency and Simplicity The principal reason one might place policy in the kernel instead of in a utility is to simplify and speed up the interface between policy and mechanism. Any reasonable pol- icy depends on statistics that are maintained primarily in the kernel. High quality deci- sions may well require large amounts of accurate and comprehensive data. Placing policy outside the kernel incurs execution overhead and latency in passing these statistics in one direction and decisions in the other. Our experience with Charlotte, however, shows that placing the policy in a utility results in a net efficiency gain. Although separation incurs the extra cost of one message for statistics reporting and one kernel call (and perhaps another message round-trip) for decision reporting, it allows reduction of communication and more global policy due to the fact that each Starter process decides policy for a set of machines. As to the latency in passing statistics and decisions, studies have found that good policies tend to depend mostly on aggregate and medium-term conditions, ignoring short-term conditions or small delays. The designer may choose to support only simple policies, in which case they may well be put in the kernel. For example, the migration policy in V6 and Sprite4 is mostly manual, choosing a remote idle workstation for a process or evicting it when the station's Designing a process migration facility 11 owner so requires. In systems where migration is used to meet real-time scheduling deadlines, policy tends to be simple or very sensitive to even small delays, and hence could or should be placed in the kernel. Integrating the policy in the kernel, however, might obstruct later expansion or generalization. We can achieve conceptual separation of policy and mechanism without incurring a large interface cost by assigning them to separate layers that share memory. MOS2 adopts this approach by dividing the kernel to two layers, one to implement migration mechanism and other low-level functions, and the other layer to provide policy. These layers share data structures and communicate by procedure calls. Although such sharing improves efficiency, it becomes harder to modify policy, since changes require kernel recompilation, and inadvertent errors are more serious. Function and flexibility Placing policy outside the kernel facilitates testing diverse policies and choosing among policies tuned for different goals, such as load sharing, load balancing, improving responsiveness, communication-load reduction, and placing processes close to special devices. Being able to modify policy is especially important in an experimental environ- ment. Our students needed only a few hours to learn the interface and major components of the Starter in order to start trying different policies; they did not need to learn peculiar- ities of the kernel or of the migration mechanism. This flexibility would be impossible if policy were embedded in the kernel. In various distributed systems, such as Demos/MP5, Accent12, and Charlotte, resource-management policies are often relegated to utilities. Putting migration policy in those same processes can allow more integration and coordination of the policies govern- ing the system. The designer of process migration should be aware of the danger of separating pol- icy and mechanism too far. Letting policy escape from trusted utility servers into applica- tion programs may result in performance degradation or even thrashing. This problem occurs, for example, if applications may decide the initial placement and later relocation of their processes, as in Locus, without getting any assistance from the kernel in the form of timely state and load information. 4.2. Interplay between migration and other mechanisms The process migration mechanism can be designed independently of other mecha- nisms, such as IPC and memory management. The actual implementation is likely to see interactions among these mechanisms. However, design separation means that the migra- tion protocol should not change when the IPC protocol does. In Charlotte, for example, we did not change the IPC to add process migration, nor did migration change when we later modified the semantics of two IPC primitives. In contrast, we had to change the marshaling routines when an IPC data structure changed. We feel that ease of implementation is a dominant motivation for separating mecha- nisms from each other when process migration is added to an existing operating system, such as was the case in Demos/MP, Charlotte, V, and Accent. A secondary motivation is Designing a process migration facility 12 that the migration code can be deactivated without interfering with other parts of the ker- nel. In Charlotte, for instance, we can easily remove all the code and structures of pro- cess migration at compile time or dynamically turn the mechanism on and off. In con- trast, efficiency arguments would favor integrating all mechanisms. Accent, for example, uses a transfer-on-reference approach to transmitting the virtual space of the migrant pro- cess that is based on its copy-on-write memory management. If process migration is intended from the start, as in MOS and Sprite, integration can reduce redundancy of mechanisms. In retrospect, Charlotte would have used a different implementation for IPC if the two mechanisms had been integrated from the start. We would have used hints for link addresses, which are inaccurate but can be readily checked and inexpensively main- tained, rather than using absolutes, whose complete accuracy is achieved at a high main- tenance cost. Some interactions seem to be necessary. In Charlotte, for instance, we chose to sim- plify the migration protocol by refusing to migrate a process engaged in multi-packet message transfer. We therefore depend slightly on knowledge of the IPC mechanism to avoid complex protocols. Similarly, both MOS and Sprite refuse to migrate a process engaged in RPC until it reaches a convenient point, which may not happen for a long time. Other interactions make sense in order for process migration to take advantage of existing facilities. For example, Locus uses existing process-creation code to assist in process migration. 4.3. Reliability Migration failures can occur due to network or machine failure. The migration mechanism can simply ignore these possibilities (as does Demos/MP) in order to stream- line protocols. The Charlotte implementation is able to rescue the migrant from many failures by several means. First, it transfers responsibility for the migrant as late as possi- ble, to survive failure of the destination or the network. Second, it detaches the migrant completely from its source, to survive later failures there. Third, the migrant is protected from failures of other machines; at most, some of its links are automatically destroyed if the machine where their other ends reside has crashed. Rescuing migrating processes under all failure circumstances requires complex recovery protocols, and most likely large overhead for maintaining process replicas, checkpoints, or communication logs. We were unwilling to pay that cost in Charlotte. Instead, we terminate the migrant if either the source or destination machine crashes during the sensitive time of transfer when mes- sages for the migrant may have arrived at either machine, as discussed earlier. Modifying our IPC to use hints for link addresses, as mentioned above, would have made this step less fragile. 4.4. Concurrency Various levels of concurrency are conceivable: • Only one migration in the network at a time • Only one migration affecting a given machine at a time Designing a process migration facility 13 • No constraints on the number of simultaneous migrations The Charlotte mechanism puts no constraint on concurrency. Restricting process migra- tion can make the mechanism simpler, especially in operating systems using a connec- tion-based IPC. The most restrictive alternative guarantees that the peers of the migrant process are stationary, so redirection of messages is straightforward. It also tends to miti- gate policy problems of migration thrashing, flooding a lightly-loaded machine with immigrants, and completely emptying a loaded machine. Enforcing such a constraint, on the other hand, requires arbitrating contention, which can be expensive. In addition, limiting concurrency constrains policies that other- wise would be able to evacuate a failing machine quickly or react immediately to a severe load imbalance. We therefore believe that the policy problems alluded to above should be solved by policy algorithms, not by a limitation imposed by the mechanism. Allowing simultaneous migrations introduces the peculiar problem of name and address consistency: ensuring that all processes and kernels have a consistent view of the world. The problem is manifest in operating systems like Charlotte, in which communi- cation is carried out over established channels and kernels require up-to-date location information. If two processes connected by a channel migrate at the same time, their ker- nels may have false conception of the remote channel ends. The problem is not critical in operating systems that treat communication addresses as hints, such as V, because com- munication encountering a hint fault will restore the hint by invoking a process-finding algorithm. This solution incurs execution and latency costs as messages are transmitted. Where absolutes are used, forwarding pointers, such as those used in Demos/MP, may solve the problem, but they introduce long-lived residual dependencies. In Charlotte, we send link-address updates before migration completes, and we buffer notifications for messages arriving during the transfer. The immediate acknowledgement of the updates, even when the other link end is simultaneously given away or migrating, prevents dead- lock. When migration completes, D processes the notifications buffered by the two ker- nels and regains a consistent view of P's links, even if their remote ends have moved meanwhile. Within a single source or destination, we could restrict concurrency to one migration attempt at a time. This restriction simplifies the kernel state and again reduces risks of thrashing. However, complexity can be reduced by creating a new kernel thread for each migration in progress, executing a finite-state protocol independently of other migration efforts. Using these techniques, we found that allowing concurrent migrations in the same machine incurs only a small space overhead and minor execution costs. 4.5. Context transfer and residual dependency At some point during migration, the process must be frozen to ensure a consistent transfer. What and when to freeze Three activities need to be frozen: (1) process execution, (2) outgoing communica- tion, and (3) incoming communication. The first two activities are trivial to freeze. Designing a process migration facility 14 Freezing incoming communication can be accomplished by (a) telling all peers to stop sending, (b) delaying incoming messages, or (c) rejecting incoming messages. Option (a) requires a complex protocol if concurrent migrations are supported or if crashes must be tolerated. Option (c) requires that the IPC be able to resend rejected messages, as in V. In Charlotte, we chose option (b) because it seems the simplest and because it does not interfere with other mechanisms. Very early freezing (for example, when a process is considered as a migration candi- date) has the advantage that the process does not change state between the decision and migration. Otherwise, the migration decision may be worthless, since the process could terminate or start using resources differently. However, freezing a process hurts its response time, which flies in the face of one of the goals of migration. Less conserva- tively, we can freeze a process when it is selected as a candidate, but before the destina- tion machine has accepted the offer. Even less conservative alternatives include freezing at the point migration is agreed upon, or even when it is completed. Each more liberal choice increases the process' responsiveness at the cost of protocol complexity. In Charlotte, we chose to balance responsiveness and protocol simplicity by freezing both execution and communication only when context is marshaled and transferred. We delay incoming communication by buffering input notifications at S and both notifica- tions and data at D until P is established. We verified (by exhaustive enumeration of states in our automata that drive the IPC protocol) that the ensuing delays could not cause deadlock or flow control problems11. In this way, a minimal context is transferred during negotiation (such as how many links P has and where their ends are); the final transfer reflects any change in P's state during migration. MOS and Locus freeze the migrant earlier, when it is selected for migration. V, in contrast, freezes a process for a minuscule interval near the end of transfer. While trans- fer is in progress, the migrant continues to execute; pages dirtied during that episode are sent again in another transfer pass, and so forth until a final pass. Incoming messages are rejected during the short freeze, with the understanding that the IPC mechanism will timeout and retransmit them. The result is that the migrant suffers a delay comparable to that required to load a process into memory6. Redirecting communication Redirecting communication requires that state information relevant to the communi- cation channels be updated and that peer kernels discover the migrant's new location. In a connectionless IPC mechanism, a process holds the names of its communication peers. For example, V processes use process identifiers as destinations13. To redirect communi- cations in such an environment, a kernel may broadcast the new location. Broadcast can be expensive for large networks with frequent migrations. Alternatively, peers can be left with incorrect data that can be resolved on hint faults. Another alternative is to assign a home machine to each process; the home machine always knows where the process is. Locus uses this method to find the target of a signal. Sprite is similar; the home machine manages signals and other location-dependent operations on behalf of the migrant. Of course, resorting to a home machine makes communication failures more likely and Designing a process migration facility 15 sharply increases the cost of certain kernel calls. In a connection-based IPC environment with simplex connections, such as Accent and Demos/MP, the kernel of the receiving end of a connection does not know where the senders are. That means that S cannot tell which kernels to inform about P's migration. Instead, a forwarding pointer may be left on S to redirect new messages as they arrive. Demos/MP uses this strategy. Another approach is to introduce a stationary "middleman" between two or more mobile ends of a connection. In Locus, cross-machine pipes may have several readers and writers, but they have only one fixed storage site. When a reader or writer migrates, the kernel managing the storage site is informed. In Charlotte, the duplex nature of links suggests maintaining information at both ends about each other, so S can tell all peers that P has moved. Transferring these link data along with P, though, incurs marshaling, transmission, and demarshaling overhead. Residual dependency The migrant process can start working on the destination machine faster if it can leave some of its state temporarily on the source machine. When it needs to refer to that state, it can access it with some penalty. To reduce the penalty, state can be gradually transferred during idle moments. State can also be pulled upon demand. The choice between moving the entire address space or only a part is reminiscent of the controversy in network file systems whether entire files should be transferred or only pages for remote file access. Locality of execution suggests transferring at least the working set of P dur- ing migration, and the rest when needed. On the other hand, the objective of residual independence suggests removing any trace of P from the source machine. In MOS, virtually the entire state of P could remain in the source machine, since D can make remote calls on S for anything it needs. For efficiency reasons, however, MOS transfers most of P's context when it migrates. In Sprite, part of P's context always resides in its home machine, but none is left on the source machine when it is evicted. This approach costs about 15 ms to demand-load a page and perhaps 4 ms to execute some of the kernel calls remotely (about 9-fold increase). In Accent, processes do not make kernel calls directly, but rather send messages to a kernel port. Therefore, no state needs to be moved with a process; it can all remain with S and be accessed as needed by kernel calls to the old port. In addition, Accent implements a lazy transfer of data pages on demand. Similarly, in Sprite, S acts as a paging device for D. These approaches trade efficiency of address-space transfer for risks of machine unavailability, protocol complex- ity, and later access penalties. 4.6. Location independence Many distributed operating systems adhere to the principle of location transparency. In particular, process names are independent of their location, processes can request iden- tical kernel services wherever they reside, and they can communicate with their peers equally well (except for speed) wherever they might be. The principle of location trans- parency must be followed carefully to enable migration. Migration requires that naming schemes be uniform for local and remote communication and that resource references not Designing a process migration facility 16 depend on the host machine. For example, Charlotte objects are all named by the links that connect a client to them. When a process moves, the names it uses for its links are unchanged, even though D remaps them to different internal names. The fact that local communication is treated differently from remote communication is localized in a few places in the kernel. Processes may have pointers or indices to kernel data structures, but those are maintained by the kernel. The actual data structures, pointers and indices are remapped invisibly during migration. If such values were buried inside the processes' address spaces, migration would be impossible or extremely complicated. Sprite main- tains location transparency throughout multiple migrations by keeping location-depen- dent information on P's home machine and by directing some of P's kernel calls there. Transaction management and multithreading also pose transparency problems. A transaction manager must not depend on the location of its clients. Multithreaded pro- cesses must be moved in toto. If threads may cross address spaces, the identity of one thread may be recorded in several address spaces, leading to location dependencies. Of course, any policy setter, such as the Charlotte Starter, needs to know the location of all processes and perhaps the endpoints of their heavily-used links. Making this infor- mation available need not compromise the principle of transparency. The policy module does not use this information to send messages, only to inform itself about decisions it needs to make. Likewise, for the sake of openness, a design may allow processes willing to participate in migration decisions to receive location information and contribute migra- tion advice. 5. Conclusions Our experience with Charlotte and others' experience with Sprite, V, MOS, and Demos/MP, show that process migration is possible, if not always pleasant. We found that separating the modules that implement mechanism from those responsible for policy allows more efficient and flexible policies and simplifies the design. Migration interact with other parts of the kernel. In particular, the implementation shares structures and low-level functions with other mechanisms. Nonetheless, we found it possible to keep the mechanisms fairly independent of each other, gaining high code modularity and ease of maintenance. Software and hardware failures are a fact of life. Our migration protocol can rescue the migrant in most failure situations and restore the state in all of them, despite the fact that the migrant continues its interaction with other processes at early stages of migration. In some cases, though, we opt to kill the migrant even if rescue is dimly conceivable. We chose to postpone committing migration until late during the transfer itself (to deal with early destination crash), while removing any dependency of the migrant on the source as soon as migration completes (to deal with late source crash). Except for potential confusion suffered by policy modules, it is not particularly hard to achieve simultaneous migrations, even those involving a single machine. The Char- lotte IPC requires absolute state information, so we could not try to reduce the cost of migration by sacrificing accuracy. IPC mechanisms that use hints or are connectionless can shorten the elapsed time for migration but then probably pay more during Designing a process migration facility 17 communication. Designs that require previous hosts to retain forwarding information for an arbitrary period after migration are overly susceptible to machine failure. Forwarding data structures, although small, tend to build up over time. 6. Acknowledgements The design of process migration in Charlotte was inspired by discussions with Amnon Barak of the Hebrew University of Jerusalem in 1984. The authors are indebted to Cui-Qing Yang for modifying Charlotte utilities to support process migration and to Hung-Yang Chang for many fruitful discussions about the design. Andrew Black and Marvin Theimer provided helpful comments on an early draft, and the referees suggested many stylistic improvements. The Charlotte project was supported by NSF grant MCS-8105904 and DARPA contracts N00014-82-C-2087 and N00014-85-K-0788. References 1. P. Krueger and M. Livny, "When is the best load sharing algorithm a load balancing algorithm?," Computer Sciences Technical Report #694, University of Wiscon- sin−Madison (April 1987). 2. A. B. Barak and A. Litman, "MOS: A Multicomputer Distributed Operating Sys- tem," Software — Practice and Experience 15(8) pp. 725-737 (August 1985). 3. D. A. Butterfield and G. J. Popek, "Network tasking in the Locus distributed UNIX system," Proc. of the Summer USENIX conference, pp. 62-71 USENIX Association, (June 1984). 4. F. Douglis and J. Ousterhout, "Process migration in the Sprite Operating System," Proc. of the 7th Int'l Conf. on Distributed Computing Systems, pp. 18-25 IEEE Computer Press, (September 1987). 5. M. L. Powell and B. P. Miller, "Process migration in DEMOS/MP," Proc. of the Ninth ACM Symp. on Operating Systems Principles, pp. 110-118 ACM SIGOPS, (October 1983). In Operating Systems Review 17:5 6. M. M. Theimer, K. A. Lantz, and D. R. Cheriton, "Preemptable Remote Execution Facilities for the V-System," Proc. of the Tenth Symp. on Operating Systems Princi- ples, pp. 2-12 ACM SIGOPS, (December 1985). 7. E. R. Zayas, "Attacking the process migration bottleneck," Proc. of the Eleventh ACM Symp. on Operating Systems Principles, pp. 13-24 ACM SIGOPS, (November 1987). In Operating Systems Review 21:5 8. D. A. Nichols, "Using idle workstations in a shared computing environment," Proc. of the Eleventh ACM Symp. on Operating Systems Principles, pp. 5-12 ACM SIGOPS, (November 1987). In Operating Systems Review 21:5 9. Y. Artsy, H-Y. Chang, and R. Finkel, "Interprocess communication in Charlotte," IEEE Software 4(1) pp. 22-28 IEEE Computer Society, (January 1987). Designing a process migration facility 18 10. M. L. Scott, "Language support for loosely coupled distributed programs," IEEE Trans. on Software Eng. SE-13(1) pp. 88-103 IEEE, (January 1987). 11. Y. Artsy, H-Y. Chang, and R. Finkel, "Charlotte: design and implementation of a distributed kernel," Computer Sciences Technical Report #554, University of Wis- consin−Madison (August 1984). 12. R. F. Rashid and G. G. Robertson, "Accent: A communication oriented network operating system kernel," Proc. of the Eighth ACM Symp. on Operating Systems Principles, pp. 64-75 ACM SIGOPS, (December 1981). 13. D. Cheriton, "The V Kernel: A software base for distributed systems," IEEE Soft- ware 1(2) pp. 19-42 (April 1984).
Pages to are hidden for
"migration"Please download to view full document


text:
« Aug. 7 Aug. 9 » Monday, August 8, 2011
Gallery proves looks can be deceiving
Aug. 8, 2011 in Sports The Seahawks' new left guard may look like a Hells Angel, but Robert Gallery is truly a product of the American heartland.
Reunion and a victory for Indians
Aug. 8, 2011 in Sports Yes, Guillermo Pimentel had a big hit and big play in the field as Spokane defeated Yakima 1-0 Monday night, but the real highlight of the night was a soldier's … 2
Eagles on target for success
Aug. 8, 2011 in Sports "In terms of the target that comes with winning a national title and being ranked high again this year, that's what we want," said EWU football coach Beau Baldwin on …
Cougars hope they have a good Knight
Aug. 8, 2011 in Sports The Cougars are hoping JC transfer Ian Knight can be the pass-rushing defensive end they've been searching for over the past three years.
Interior secretary to Alaska: More drilling
Aug. 8, 2011 in Nation/World, Region Interior Secretary Ken Salazar came to Anchorage on Monday and said the Obama administration wants more oil drilling in Alaska, potentially including offshore Arctic development. 2
DNA doesn't give D.B. Cooper link
Aug. 8, 2011 in Region OLYMPIA — DNA testing has failed to link a new suspect in the D.B. Cooper hijacking to a necktie that he left behind on the plane in 1971, the FBI …
Lawsuit alleges sex abuse by former CV teacher
Aug. 8, 2011 in City, News A Seattle attorney filed a lawsuit today against the Central Valley School District, alleging that a former teacher sexually assaulted his client as a child some 45 years ago. 1
Riots spread in London
Aug. 8, 2011 in Nation/World LONDON — Violence and looting spread to new areas of London on Monday — and to a second major British city — as police and politicians struggled to contain the … 28
House page program ends Aug. 31
Aug. 8, 2011 in Nation/World After nearly 200 years, the House is ending its page program. The program allowed high school students to serve as messengers for lawmakers while getting a front-row seat to learn … 5
Questions and answers about the market's turmoil
Aug. 8, 2011 in Business Global stock markets tumbled Monday on the first trading day since Standard & Poor's downgraded long-term U.S. debt. The plunge came as investors grew anxious over a weakening U.S. economy … 6
Markets tumble again; Dow down 635 points
Aug. 8, 2011 in Business, Nation/World The U.S. stock market joined a sell-off around the world today in the first trading since Standard & Poor's downgraded American debt and gave investors another reason to be anxious. 101
Mini-megaloads could rumble through Spokane
Aug. 8, 2011 in Idaho Imperial Oil/ExxonMobil has announced that some of its controversial megaloads, instead of traveling a scenic route in Idaho, may instead rumble through Spokane on U.S. Highway 395 and I-90. 6
Government-linked credit ratings downgraded
Aug. 8, 2011 in Business, Nation/World WASHINGTON — Standard & Poor's Ratings Services on Monday downgraded the credit ratings of Fannie Mae and Freddie Mac and other agencies linked to long-term U.S. debt. 37
NW today: Woman's listing as slain is surprise to her
Aug. 8, 2011 in Region Cheri Schumann would like Kennewick High School's class of 1971 to know she is very much alive.
Summer warmth stays around
Aug. 8, 2011 in City, Idaho Warm temperatures will continue across the Inland Northwest today as higher air pressure creates the right conditions for sunshine. A high of 87 is expected in Spokane and Coeur d'Alene.
Volunteer will spend year as Panhandle Forest camp host
Aug. 8, 2011 in Idaho on Page A1 Jay Lightner brought along a computer and television when he moved to the Snyder Guard Station in Idaho's Moyie River Valley. He also packed candles, a cast iron skillet for …
Geithner blasts S&P rating
Aug. 8, 2011 in Nation/World on Page A1 WASHINGTON – The credit rating agency Standard & Poor's showed "terrible judgment" in lowering the U.S. government's credit rating, Treasury Secretary Timothy Geithner said Sunday. "They've handled themselves very poorly. … 37
Getting There: County weighs mandatory bike helmet-use law
Aug. 8, 2011 in City on Page A1 As deputies describe it, the 6-year-old boy hit by a truck in Newman Lake on July 28 bounced between the Dodge's undercarriage and the asphalt like a pinball. The boy's … 16
Afghans in valley support insurgents
Aug. 8, 2011 in Nation/World on Page A1 KABUL, Afghanistan – The 30 U.S. troops who died Saturday in the U.S. military's single biggest loss of the Afghan war, were operating in a Taliban-controlled valley where frequent U.S.-led … 4
Accuracy watch
Aug. 8, 2011 in Nation/World on Page A2 For 08-08-2011
Typhoon downgraded as it nears China
Aug. 8, 2011 in Nation/World on Page A2 BEIJING – Typhoon Muifa has been downgraded to a tropical storm and will make landfall this evening somewhere between northeastern China and western North Korea, China's weather agency said. The …
Cleric vows new attacks if troops stay in Iraq
Aug. 8, 2011 in Nation/World on Page A3 BAGHDAD – A powerful anti-American Shiite cleric in Iraq with thousands of loyal followers threatened on Sunday that U.S. forces who stay past the Dec. 31 withdrawal deadline are fair …
More unrest rattles London
Aug. 8, 2011 in Nation/World on Page A3 LONDON – New unrest erupted on north London's streets late Sunday, a day after rioting and looting in a deprived area amid community anger over a fatal police shooting. Police …
In brief: Ex-lawmakers released from jail
Aug. 8, 2011 in Nation/World on Page A3 DUBAI, United Arab Emirates – Bahrain released two former lawmakers from the Shiite opposition Sunday along with several other detainees who were arrested in the wake of widespread anti-government protests. …


text:
Carlos Vela sees his future at Arsenal.
The 18-year-old Mexican is currently on a season-long loan in Pamplona with the option for a further year.
Agent Eduardo Hernandez claims Vela has impressed Arsenal manager Arsene Wenger with his performances in Spain and says the Gunners want the teenager back "as soon as possible".
Hernandez said: "I have talked with him. Carlos has the chance to return to Arsenal in August. He only wants to play. He knows that the opportunity will come sooner or later as he has a contract with Arsenal.
"I haven't talk with the Gunners representative yet, buy I know that they want Carlos back as soon as possible."
Vela is said to be excited about the opportunity to return to north London.
Hernandez added: "This is something very important for him. Every player wants to be part of such a good side. Carlos is very excited about it, but we will have to wait until June to end the story."