text:
E-Mail Address:
Forgot your password?
Log in
Not a member? Register now!
Common Conditions
Related Tools
Find & Review Drugs
Popular Topics
Advice & Support
Laparoscopic surgery uses a thin, lighted tube
(laparoscope) that is inserted into the abdominal cavity through a very small
incision in the wall of the abdomen. The laparoscope allows the surgeon to see
inside the abdomen without making a large incision. Surgical instruments can
also be inserted through additional small incisions.
surgery may take about the same or more time to perform as open surgery, but
the time required for recovery is usually shorter. It costs about the same as
open surgery, which requires a large incision. The main advantages of
laparoscopic surgery are that the small incisions leave smaller scars, and
recovery from the surgery takes less time.
Laparoscopic surgical
techniques are often used to treat
gastroesophageal reflux disease (GERD). When you are
choosing a surgeon, the most important consideration is the surgeon's
experience. Find out the number of these procedures the surgeon has performed
and his or her success rate.
Last Revised:
March 16, 2010
Healthwise Staff
Medical Review:
Kathleen Romito, MD - Family Medicine & Peter J. Kahrilas, MD - Gastroenterology
This information does not replace the advice of a doctor. Healthwise disclaims any warranty or liability for your use of this information. Your use of this information means that you agree to the Terms of Use.
How this information was developed to help you make better health decisions
To learn more visit Healthwise.org
© 1995-2013 Healthwise, Incorporated. Healthwise, Healthwise for every health decision, and the Healthwise logo are trademarks of Healthwise, Incorporated.
This Site and third parties who place advertisements on this Site may collect and use information about
your visits to this Site and other websites in order to provide advertisements about goods and services of
interest to you. If you would like to obtain more information about these advertising practices and to make
choices about online behavioral advertising, please click here.

subset: commoncrawl


text:
Common Conditions
Featured Topics
Health concern on your mind?
See what your medical symptoms could mean, and learn about possible conditions.
WebMD Pain Coach
Find Information About:
Drugs & Supplements
Get information and reviews on prescription drugs, over-the-counter medications, vitamins, and supplements. Search by name or medical condition.
Drug Basics & Safety
Having trouble identifying your pills?
Enter the shape, color, or imprint of your prescription or OTC drug. Our pill identification tool will display pictures that you can compare to your pill.
Save your medicine, check interactions, sign up for FDA alerts, create family profiles and more.
Drug News
WebMD Mobile Drug Information App
Featured Content
WebMD cuts through the hype to reveal the best kept secrets for healthy hair.
Living Healthy Centers
Diet, Food & Fitness
Beauty, Balance & Love
Living Well
WebMD Allergy App for iPhone
Protect yourself and your family by learning which health precautions and vaccines are advised for your destination.
Family and Pregnancy Centers
WebMD Pregnancy App for iPhone
WebMD Health Experts and Community
Talk to health experts and other people like you in WebMD's Communities. It's a safe forum where you can create or participate in support groups and discussions about health topics that interest you.
WebMD Second Opinion
WebMD Communities
Got a health question? Get answers provided by leading organizations, doctors, and experts.
WebMD Newsletters
You are in the WebMD Content Archive for WebMD Video.
WebMD archives all video content after 48 months to ensure our readers can easily find the most timely content.
To locate the most current information on this topic, please use our search box
Reviewed By: Varnada Karriem-Norwood, MD,
SOURCES: Rick W. Fraunfelder, MD, assistant professor of ophthalmology, Oregon Health and Science University Medical School, Portland. Gorovoy, M. Refractive Surgery, December 2005.
© 2006 WebMD, Inc. All rights reserved.
WebMD will not add your recipients to any mailing lists.
*indicates required fields
Clicking the send button signifies that you have read and agree to our Privacy Policy
When John Jolie was a boy, a companion accidentally shot his left eye with a pellet gun. Though the eye was repaired at the time, the injury cast a shadow that today nearly envelopes his vision.
If you think being blind is not difficult, there are so many things that are missing and life becomes an embarrassment as you bump into this thing and walk into that thing
and can't tell who that is that's talking to you from about 10 to 15 feet away.
With the help of an innovative procedure known as dsaek, Jolie will have the damaged portion of his cornea replaced by eye surgeon Rick Fraunfelder of Portland's Casey Eye Institute.
This is an experimental surgery and it's not something the majority are doing, not even close to the majority of doctors are doing this surgery.
After having performed a handful of dsaek transplants, Fraunfelder is now a convert.
The recovery is so much faster than the full thickness corneal transplant so it's very exciting.
Full thickness meaning a conventional corneal transplant where the entire cornea is removed and replaced with a donor cornea. Those can take up to a full year to heal.
By transplanting only the inner layer of the cornea, dsaekis expected to reduce healing time to a few months.
The advantages of dsaek over a full thickness transplant is that we aren't putting 16 stitches in the cornea. We aren't putting any stitches in the cornea.
Doctors make a small incision on the side of the eye and replace only the damaged portion of the back inner layer of the cornea with cells from a donor.
These cells are then pushed into place using a pocket of air.
Those little cells that were transplanted start to pump fluid immediately out of the cornea and that creates a suction and allows it to suck up against the back of the host cornea.
The procedure, however, is suited to only certain types of vision problems, those where only the back layer of the cornea is damaged.
Long-term complications and effectiveness of the procedure are still being studied, but Dr. Fraunfelder says based on his experience it's a good bet that dsaek will come out a winner.
I do think it's a major evolution in corneal transplant surgery and if doctors learn how to do it they will become convinced that this is the way to do corneal transplants.
John Jolie clearly agrees.
I know it's going to be a success. There is absololutely no question whatsoever.
For WebMD, I'm Damon Meharg.
Get tips directly from a dermatologist.
Exercise for Better Sex
Drink Your Way To Weight Loss
Weight Loss Secret Weapon
IBS Trigger Foods
Does Porn Hurt a Relationship?
Male Orgasms: How They Change
What's Your Sleep Personality?
Truth about Passing Gas
Diarrhea Causes and Treatments
Common Constipation Treatments
Dirty Truth About Hand Washing
ED Exercise
Sex Advice for Single Women
Diagnosing Yeast Infections
Truth About Coffee
Love Scents
What is Fecal Incontinence?
Stress and Digestive Problems
What is IBS?
What Is Normal Vaginal Discharge?
Prepare Your Body for Pregnancy
Battling Bladder Infections
Truth About Shampoo and Conditioner
Ask the Pharmacist
Allergy TV
How to Prepare Veggies
Pets Community TV
Ask the Dentist
America Asks WebMD
Healthy Skin TV
Ask the Dermatologist
Healthy Aging TV
Rheumatoid Arthritis TV
To perform a video search, please enter a term in the search box located to the right of the video player above.
Not Available.
©2005-2015 WebMD, LLC. All rights reserved.
WebMD does not provide medical advice, diagnosis or treatment. See additional information.


text:
- 800.878.7323
This title in other editions
The Voice of Hopeby Aung San Suu Kyi
Synopses & Reviews
Publisher Comments:
In Burma, while thousands of political prisoners are detained and tortured, and thousands more flee the country to escape poverty and forced labor, a woman of delicate appearance and fierce determination leads her nation's struggle for freedom. They chant her name, "Aung San Suu Kyi! Democracy!" Bringing this story to the world is Alan Clements, an American who spent five years in Rangoon as a Buddhist monk. Over a period of months Clements met with Aung San Suu Kyi at her home, shortly after her release from house arrest in July 1995. Their conversations became The Voice of Hope, Aung San Suu Kyi's first published work since her release. The Voice of Hope is a journey to the heart of her struggle. In response to perceptive and probing questions by Clements, she describes how she has managed to sustain her hope and optimism even when her husband and two sons are kept from her, and while so many of her followers and associates have been hurt or killed. What are the foundations of her strength? What is her understanding of the motivations of her enemy, the State Law and Order Restoration Council (SLORC)? How effective can nonviolence be in the modern world? In what ways does her Buddhism inspire her actions? How does she overcome feelings of resentment and vindictiveness? Why is the truth she speaks so threatening to her enemies? Does she envision her own death? Is there conflict between her Buddhist pursuits and her political ones? What are the limits of free speech? Is the struggle for freedom worth any sacrifice? In every case Aung San Suu Kyi's answers are honest, direct, unexpected, and rich. The Voice of Hope offers us a rare insight to an extraordinary life - along with the empathyand vision to serve also as a moral compass in our own lives.
Aung San Suu Kyi, Nobel Prize Laureate, mother of two, and devout Buddhist, is one of the most inspiring examples of spiritually infused politics and fearless leadership that the world has ever seen. Daughter of the martyred Burmese national hero who negotiated Burma's independence from Britain in the 1940s, Aung San Suu Kyi led the pro-democracy movement in Burma in 1988. The movement was quickly and brutally crushed by the military junta, and Aung San Suu Kyi was placed under house arrest.
The Voice of Hope is a rare and intimate journey to the heart of her struggle. Over a period of nine months, Alan Clements, the first American ordained as a Buddhist monk in Burma, met with Aung San Suu Kyi shortly after her release from her first house arrest in July 1995. With her trademark ability to speak directly and compellingly, she presents here her vision of engaged compassion and describes how she has managed to sustain her hope and optimism.
About the Author
Nobel laureate AUNG SAN SUU KYI is the leader of the struggle for human rights and democracy in Burma.
ALAN CLEMENTS is the author of Burma: The Next Killing Fields?, Burmas Revolution of the Spirit, and Instinct for Freedom. Since the completion of The Voice of Hope, he has been permanently blacklisted in Burma.
What Our Readers Are Saying
Be the first to add a comment for a chance to win!
Product Details
Other books you might like
Related Subjects
History and Social Science » Asia » Burma and Myanmar


text:
Sign into Storybird to post a comment.
This is so meaningful
This is really great, just like all your other stories! I really enjoy your stories and look forward to reading more!
All the animals in Africa are fighting about who should be king of the jungle. Lizard comes up with an idea for a contest, whoever shakes the mountains will be king of the jungle.
Published: Aug. 1, 2010
Copyright © All rights reserved
Picture books
› How the lion became the king of the jungle


text:
Source: Webber considering return to play for Pistons
Updated: December 21, 2007, 5:13 AM ETBy J.A. Adande | ESPN.com
Fourteen-year veteran Chris Webber is close to returning to the NBA, with the Pistons his likely destination, a source close to Webber told ESPN.com.
"Look for him to be back the first week of January," the source said.
The Boston Celtics, Miami Heat and Los Angeles Lakers had also inquired about Webber's services, with the Heat intensifying their efforts after backup center Alonzo Mourning suffered an apparent season-ending injury to his patellar tendon in a game at Atlanta Wednesday ...
Read full story
You must be signed in to post a comment
You are fully responsible for the content you post. Content that includes profanity, personal attacks or antisocial behavior (such as "spamming" or "trolling"), or other inappropriate content or material will be removed. We reserve the right to block any user who violates our terms of use, including removing all content posted by that user.
- Ford: My optimum Grade:A mock draft
- 360 Draft Profiles: Scouting/metric reports on prospects
- Goodman: My lotto picks, execs critique
- Ford-Pelton: Draft fixes for Knicks, Lakers
- Insider: Roster Reloads and Stein Scoops


text:
Cart Checkout 0
Your Help is Here! 855.851.0299
My Cart
Store Locator
VIP Membership Terms: Normally $24.99 per year, but your Web Exclusive deal means you enjoy 3 months of VIP Family Benefits for $1.99. Check out your savings and benefits below.
Cancellation: Rest assured you can cancel your new membership at any time during the year at a pro-rated rate, simply call your VIP Hotline at 800.543.7309 or click here to submit your cancellation request. Benefits and prices are subject to change.
Want more info? Click here and read 'til your heart's content or call your VIP Hotline at 800.543.7309
Body Glide Anti-Friction 2.5 oz Skin Care - null
Available in Null
BODY GLIDE� ANTI-CHAFE BALM 2.5 ounce :: Protect yourself from dry, chafed skin and blisters that form in hot spots with Body Glide� Anti-chafe balm, an all-natural skin protectant.
Body Glide Anti-Friction 1.3 oz Skin Care - null
BODY GLIDE� ANTI-CHAFE BALM 1.5 ounce :: Protect yourself from dry, chafed skin and blisters that form in hot spots with Body Glide� Anti-friction Stick, an all-natural skin protectant.
ENJOY YOUR BIGGEST BENEFITS EVERY DAY Get FREE Shipping every day • Your WARP SPEED PROMISE • Ultimate Test Run 90-Day Wear 'em & Love 'em Guarantee • tons more perks! JOIN NOW!! �
Get the Latest, Sign Up Now!
Become a Fan & Follow Us.


text:
Support Roanoke College
Currently, the tuition that Roanoke charges only covers about 50 percent of what it actually costs to educate a student. The difference is provided by gifts like yours, making it possible for students to receive a solid education that will benefit them for their entire lives. Give now
Recent Photos
View photos from recent alumni gatherings and chapter events around the country.
Alumni Leadership
Meet the leaders of the Alumni Executive Council (AEC).
Rick Oglesbee '95President
Kevin Hartz '92
Emily Umberger '94
Alumni Chapters
Join your local alumni chapter and get involved!
Visiting your Alma Mater?
If you or someone you know is returning or visiting Roanoke College, here are some helpful links to guide you on your visit.
Dr. Lucy Cline Weiss '72
Lucy's passion, dedication, leadership and aspiration for perfection embody the strength and wisdom that hold the Roanoke College pillars in place. Throughout her 26-year career at 3M, she never stopped thinking about Roanoke College and the impact it had on her.
Dr. Kenneth Ross Garren
A Roanoke College alumnus, professor and vice president, and the president of Lynchburg, Dr. Garren exemplified unwavering dedication and passion for the betterment of students and the community.
Hall of Fame
Learn about all the members of the Roanoke College Athletic Hall of Fame. Watch the videos for the 2014 class of inductees that includes Andy Bonasera and Mary Beth Harvey.
Does your class have the most 'Noke spirit?
Gifts of any size count toward the reunion partication challenge.
Roanoke graduate excels in the field of sports medicine and athletic training
A student turned teacher of athletic training, this Maroon believes that he has come full circle in his experiences—and followed his passion the whole way.


text:
Stylish finds for mom under $100
Holiday gift guide: For the beauty obsessed
Holiday gift guide: For your dad
Holiday gift guide: The prettiest jewelry at every price...
The best gifts for your preppy friend
Holiday Guide: For the cook on your list
Holiday gift guide: Hats that keep you warm
Holiday gift guide: For your coworker
Holiday guide: For the wine-o
Holiday gift guide: The perfect scarf
Holiday Gift Guide: For the glitter girl
Holiday gift guide: For the plaid lover
Why it's better to give than receive this holiday season
Holiday gift guide: Gifts under $50
Holiday gift guide: The minimalist
Holiday gift guide: For the coffee lover
Holiday gift guide: Gifts under $150
TOMS for Target: For him! Gifts for the men in your life...
Pretty, preppy Mother's Day gifts
Mother's Day gift guide: All under $50
The perfect gifts for a gym-obsessed mom
The ultimate Valentine's Day gift guide for him and her
9 handbags that'll transform your wardrobe
Holiday gift guide 2013: Essentials for every party this...
Holiday gift guide 2013: Your golden ticket to gift-giving...
Holiday gift guide 2013: treats for the 20-something...
Holiday gift guide 2013: Trendsetting accessories for the...
Holiday gift guide 2013: For the girl on the go
Holiday gift guide 2013: Men's fragrances
Holiday gift guide 2013: Women's fragrances
The latest in fashion, beauty, and hair – delivered straight to your inbox.
Now you can look forward to getting the latest in fashion, hair and beauty delivered straight to your inbox.


text:
SLIDESHOW: Flotilla takes to Cam for Great Cambridge Boat Race
Posted: August 15, 2014|
Things were looking shipshape at Lammas Land, as a flotilla took to the Cam for the Great Cambridge Boat Race.
The hundreds of youngsters who worked to create their own boats were joined by Cambridge mayor Gerri Bird, who launched her own creation onto the waves on Wednesday.
She said: "It went really well, a fantastic day. It was so busy up there, and there were hundreds of kids there.
"We raced one to see it if would float and fortunately it did."
As well as the race a series of art and mosaic workshops took place, as part of the city council's series of Summerdaze activities for young people.
Cllr Bird has become a regular sight at the events, which run until August 22.
She said: "I have been to all of the splash pads, and I am off to King's Hedges on Monday, then Brown's Fields for the bubble making at 10am.
"Then I'm off to another Big Wednesday event in Cherry Hinton, so I am getting around them all slowly."
See cambridge.gov.uk/chypps-activities for details of upcoming events.


text:
An application-level method for dynamically maintaining global load balance on a parallel computer, particularly on massively parallel MIMD computers. Global load balancing is achieved by overlapping neighborhoods of processors, where each neighborhood performs local load balancing. The method supports a large class of finite element and finite difference based applications and provides an automatic element management system to which applications are easily integrated.
1. A method for dynamically maintaining global load balance in a multiprocessor system that executes an application on a parallel computer, the method comprising the steps of:
a) providing an application for execution to a plurality of processors of the parallel computer for processing the application that is to be executed, the application comprising a plurality of data cells arranged spatially such that each data cell has one or more neighboring data cells;
b) assigning each data cell a processor within the plurality of processors;
c) determining for one or more of the plurality of processors all other processors in one or more corresponding processor neighborhoods;
d) computing work loads for the one or more of the plurality of processors; and
e) for the one or more of the plurality of processors, exporting one or more data cells to another processor in the one or more corresponding processor neighborhoods to achieve a dynamic and global balance of the work load between the plurality of processors.
2. The method of claim 1 wherein the determining, computing and exporting steps are performed repeatedly until the application has completed execution.
3. The method of claim 2 wherein global load imbalance is minimized within a finite number of iterations.
4. The method of claim 1 wherein the application comprises a finite-difference or finite-element application.
5. The method of claim 4 wherein the data cells are elements.
6. The method of claim 1 wherein the step of exporting one or more data cells to another processor in the one or more corresponding processor neighborhoods comprises prioritizing data cells to select which data cells to export.
7. The method of claim 6 wherein the step of prioritizing data cells comprises the steps of:
a) initially assigning a zero priority to all data cells;
b) decreasing a data cell's priority by one for each of the one or more neighboring data cells assigned to the same processor as the data cell;
c) increasing a data cell's priority by two for each of the one or more neighboring data cells assigned to a processor requesting importation of the data cell; and
d) decreasing a data cell's priority by two for each of the one or more neighboring data cells assigned to a concerned partner processor.
8. The method of claim 1 wherein the plurality of data cells are arranged in a two-dimensional grid.
9. The method of claim 1 wherein the plurality of data cells are arranged in a three-dimensional grid.
10. The method of claim 1 wherein the determining step comprises determining for one or more of the plurality of processors all other processors in the one or more corresponding processor neighborhoods.
11. An apparatus for dynamically maintaining global load balance in a multiprocessor system that executes an application on a parallel computer, said apparatus comprising:
means for providing an application for execution to a plurality of processors of the parallel computer, the application comprising a plurality of data cells arranged spatially such that each data cell has one or more neighboring data cells;
means for assigning each data cell to a processor within the plurality of processors;
means for determining for one or more of the plurality of processors all other processors in one or more corresponding processor neighborhoods;
means for computing work loads for one or more of the plurality of processors; and
means for exporting, for one or more of the plurality of processors, one or more data cells to another processor in the one or more corresponding processor neighborhoods to achieve a dynamic and global balance of the work load between the plurality of processors.
12. The apparatus of claim 11 wherein said determining, computing and exporting means comprise means for performing such functions repeatedly until the application has completed execution.
13. The apparatus of claim 12 wherein global load imbalance is minimized within a finite number of iterations.
14. The apparatus of claim 11 wherein said application comprises a finite-difference or finite-element application.
15. The apparatus of claim 14 wherein the data cells are elements.
16. The apparatus of claim 11 wherein said means for exporting comprises the means for prioritizing data cells to select which data cells to export.
17. The apparatus of claim 16 wherein said means for prioritizing data cells comprises:
means for initially assigning a zero priority to all data cells;
means for decreasing a data cell's priority by one for each of the one or more neighboring data cells assigned to the same processor as the data cell;
means for increasing a data cell's priority by two for each of the one or more neighboring data cells assigned to a processor requesting importation of the data cell; and
means for decreasing a data cell's priority by two for each of the one or more neighboring data cells assigned to a concerned partner processor.
18. The apparatus of claim 11 wherein the plurality of data cells are arranged in a two-dimensional grid.
19. The apparatus of claim 11 wherein the plurality of data cells are arranged in a three-dimensional grid.
20. The apparatus of claim 1 wherein said determining means comprises means for determining for one or more of the plurality of processors all other processors in the one or more corresponding processor neighborhoods.
The Government has rights to this invention pursuant to Contract No. DE-AC04-76DP00789 awarded by the U.S. Department of Energy.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention (Technical Field)
The present invention relates to methods and apparatuses for load balancing on parallel computers, particularly massively parallel Multiple Instruction stream, Multiple Data stream (MIMD) computers.
2. Background Art
Distributed memory, massively parallel, MIMD technology has enabled the development of applications requiring computational resources previously unobtainable. Structural mechanics and fluid dynamics applications, for example, are often solved by finite difference or finite element methods requiring millions of degrees of freedom to accurately simulate physical phenomenon. On massively parallel computers, finite difference and finite element methods frequently result in distributed processor load imbalances. To overcome load imbalance, many massively parallel methods use static load balancing as a preprocessor to the finite element calculation. Fox et al, Solving Problems on Concurrent Processors, Volume 1 (Prentice Hall, Englewood, N.J., 1988); Hammond, Mapping Unstructured Grid Computations to Massively Parallel Computers (Ph.D. thesis, Rensselaer Polytechnic Institute, Dept. of Computer Science, Troy, N.Y., 1992); Hendrickson et al, "Multidimensional Spectral Load Balancing," Sandia National Laboratories Tech. Rep. SAND93-0074; and Kernighan et al, "An Efficient Heuristic Procedure for Partitioning Graphs," Bell Systems Tech. J. 29:291-307 (1970). Adaptive finite difference and finite element methods, which automatically refine or coarsen meshes and vary the order of accuracy of the numerical solution, offer greater robustness and computational efficiency than traditional methods by reducing the amount of computation required away from physical structures such as shock waves and boundary layers. Adaptive methods, however, complicate the load imbalance problem since the work per element is not uniform across the solution domain and changes as the computation proceeds. Therefore, dynamic load balancing is required to maintain global load balance.
The present invention is of a fine-grained, data driven, dynamic load balancing method referred to herein as "tiling". The invention is most useful for finite-element and finite-difference based applications. The method differs from those that use tasks as the unit of migration to achieve load balancing, such as Kale, "Comparing the Performance of Two Dynamic Load Distribution Methods," Int'l Conf. Of Parallel Processing (1988); Kao et al, "An Experimental Implementation of Migration Algorithms on the Intel Hypercube," Int'l J. of Supercomputer Applications Vol. 1, No. 2, 75-99 (1987); Leiss et al, "Distributed Load Balancing: Design and Performance Analysis," W. M. Keck Research Computation Lab. 5:205-70 (1989); Lin et al, "The Gradient Model Load Balancing Method," IEEE Trans. on Software Eng. (July 1987); Reddy, On Load Balancing (Ph.D. thesis, University of Houston, Dept. of Computer Science, 1989); Suen et al, "Efficient Task Migration Algorithm for Distributed Systems," IEEE Trans. on Parallel and Distributed Systems 488-99 (July 1992); and Schwederski et al, "A Model of Task Migration in Partitionable Parallel Processing Systems," IEEE Second Symposium On the Frontiers of Massively Parallel Computations 211-14 (1988). The present invention, to the contrary, uses a fine-grained, data-element based method for intra-application load balancing.
The present invention is of a method and apparatus for dynamically maintaining global load balance on a parallel computer, comprising: providing an application for execution to a plurality of processors of the parallel computer, the application comprising a plurality of data cells arranged spatially such that each data cell has one or more neighboring data cells; assigning each data cell to a processor; determining for one or more processors all other processors in corresponding processor neighborhoods; computing work loads for one or more processors; and for one or more processors, exporting one or more data cells to another processor in a corresponding processor neighborhood. In the preferred embodiment, the determining, computing and exporting tasks are performed repeatedly until the application has completed execution, and global load imbalance is minimized within a finite number of iterations. The applications thought to benefit most from the invention are finite-difference and finite-element applications, wherein the data cells are elements forming the basis of finite-difference and finite-element numerical techniques. The reassigning task preferably prioritizes data cells to select which data cells to export by: initially assigning a zero priority to all data cells; decreasing a data cell's priority by one for each data cell neighbor assigned to the same processor as the data cell; increasing a data cell's priority by two for each data cell neighbor assigned to a processor requesting importation of the data cell; and decreasing a data cell's priority by two for each data cell neighbor assigned to a concerned partner processor. The determining task preferably determines for one or more processors all other processors in corresponding processor neighborhoods. The present invention may be employed both for applications in which the data cells are arranged in a two-dimensional grid or in a three-dimensional grid.
A primary object of the present invention is to provide for dynamic load balancing of applications to achieve high parallel efficiency.
Another object of the present invention is to provide a method of dynamic load balancing which is easily integratable into application programs.
A primary advantage of the present invention is that it is effective for a wide class of finite element and finite difference applications with both fixed and dynamic per-element processing costs.
Another advantage of the present invention is that it is highly modularizable, providing for ease of use by application programmers not skilled in parallel computing science.
An additional advantage of the present invention is that an implementation thereof is easily ported from one massively parallel MIMD architecture to another.
Other objects, advantages and novel features, and further scope of applicability of the present invention will be set forth in part in the detailed description to follow, taken in conjunction with the accompanying drawings, and in part will become apparent to those skilled in the art upon examination of the following, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.
The accompanying drawings, which are incorporated into and form a part of the specification, illustrate several embodiments of the present invention and, together with the description, serve to explain the principles of the invention. The drawings are only for the purpose of illustrating a preferred embodiment of the invention and are not to be construed as limiting the invention. In the drawings:
FIG. 1 is an illustration of load balancing performed according to the present invention;
FIG. 1a is a flowchart of the method in accordance with the present invention.
FIG. 1b is a block diagram of an exemplary embodiment of the apparatus in accordance with the present invention.
FIG. 2 is an illustration showing the element classes of the present invention;
FIG. 3 is an illustration of 12 processors in 12 neighborhoods operating according to the present invention;
FIG. 4 is an illustration of element priorities and the export element selection method of the present invention;
FIG. 5 is a diagram of the interconnection of elements according to the present invention;
FIG. 6 is a three-dimensional graph of the exact solution of Eq. 5 after 20 time steps;
FIG. 7 is an illustration of processor domain decomposition after 20 time steps for Example 1 using a fixed-order method on 16 processors according to the present invention;
FIG. 8 is an illustration of processor domain decomposition after 20 time steps for Example 1 using adaptive p-refinement on 16 processors according to the present invention;
FIG. 9 is a graph of processor work load mean and standard deviation for each time step for Example 2;
FIG. 10 is a graph of maximum work load in each time step for Example 2 with (solid line) and without (dashed line) balancing according to the present invention; and
FIG. 11 is a graph of cumulative maximum loads for Example 2 with (sold line) and without (dashed line) balancing according to the present invention.
The present invention is of a method and apparatus for dynamically load balancing applications on parallel computers (particularly massively parallel MIMD computers) to achieve high parallel efficiency. For each processor allocated to the execution of a program, the ideal improvement in execution time is obtained when the execution time satisfies time(n)=time(1)/n, where time(n) is the time it takes to execute the application on n processors. Applications whose performance behavior is close to this ideal have high parallel efficiency.
The present invention helps application programmers achieve expected speed-ups while retaining an acceptable level of program abstraction. To integrate an application into the load balancing method of the present invention, one specifies the data communication patterns, per-element processing, and boundary element processing of the application. The run-time system then automatically performs data migration to achieve global load balance.
The method of the present invention, the steps which are shown in FIG. 1a, herein also referred to as "tiling", builds on the work of Lelss and Reddy. Leiss and Reddy use local balancing performed within overlapping processor neighborhoods to achieve global load balance, where a neighborhood is defined as a processor at the center of a circle of some predetermined radius and all other processors within the circle. Processors within a given neighborhood are balanced with respect to each other using local (as opposed to global) performance measurements. Individual processors may belong to several neighborhoods. Work can be migrated from a processor to any other processor within the same neighborhood.
In tiling, the definition of a neighborhood is extended to include all processors whose elements are neighbors of elements in the center processor. Elements are migrated only to processors owning neighbors of the migrating elements. FIG. 1 illustrates an example of the dynamic balancing provide by tiling. Without a priori knowledge, the data set is divided evenly among 16 processors. After some period, processors (0,1) and (3,2) are discovered to be more heavily utilized than their neighbors. At this time, processor (0,0) receives some of the data originally allocated to processor (0,1), and processor (3,2) gives processor (3,3) some of its data, as shown in Step 1. Processors (0,0) and (0,1) are now equally balanced yet out of balance with other processors. Thus, in Step 2, some data is migrated from processor (0,1) to processor (1,1). The ripple effect continues to move through processors (2,1) and (3,1) during subsequent balancing steps.
Element migration causes tiles to take on irregular shapes, leading to more complicated communication patterns. However, the larger per-processor memory sizes in recently introduced massively parallel machines, see Thinking Machines Corp., CM-5 Technical Summary (January 1992); Intel Paragon Supercomputers Sales Literature No. 203/6/92/10K/GA (1992); and nCUBE Corp., nCUBE 3 Technical Overview (1992), make communication costs less of an issue than formerly. As programmers increase the data set sizes to fill the larger memories, the ratio of additional computation to additional communication increases. Thus, communication costs need not be a primary concern in load balancing, especially since the resulting reduction in execution time outweighs the additional communication costs. The tiling method of the invention, however, attempts to maintain reasonably shaped tiles to control communication costs.
In the present specification and claims, certain terms are defined as follows. "Elements" are the data structures that form the basis of finite-difference or finite-element numerical techniques. Elements are separated into two classes: "local" elements are elements assigned to a particular processor; and "ghost" elements represent element data and interconnections for elements that are assigned to other processors. An "internal local element" has all its element neighbors local to the same processor; a "boundary local element" has at least one element neighbor assigned to another processor. FIG. 2 illustrates the basic element classes for a given processor.
"Data cells" are data structures (including elements) operated on by an application amenable to parallel processing. Data cells may be "local", "internal local", "ghost", and "boundary local", as with elements, and may be manipulated according to the tiling method of the present invention.
A "processor neighborhood" or "neighborhood" is defined as a processor (the "the neighborhood center") and all other processors for which the center has ghost elements (see FIG. 3). Every processor is the center of one neighborhood, and may belong to many neighborhoods. Tiling neighborhoods are not related to the hardware interconnection of the processors as were the neighborhoods in the work by Leiss and Reddy. A neighborhood consists of many processors which are not necessarily nearest neighbors within the hardware interconnections.
FIG. 1b illustrates the complete processor interconnections for a single processor neighborhood. In FIG. 1b, processor 4 has five neighbors. Note, however, that the remaining processors, although illustrated only as neighbors to processor 4, are actually centers of their own neighborhoods. This is indicated, partially, by the double arrows in FIG. 1b. Again, it is important to note that neighborhoods need not correspond to physical processor interconnections.
There are three classes of processors for element migration: "exporters", "importers", and "concerned partners". The "exporter" class contains all processors that send elements to other processors to better balance the work between the processors. The "importer" class consists of all processors that receive elements from other processors. "Concerned partners" are all processors owning an element adjacent to an element that is being migrated from an exporting processor to an importing processor. During a migration phase, a processor may belong to zero, one, two, or all three of the processor classes.
The applications most compatible with the tiling method of the present invention are two-dimensional, regularly gridded, element-based applications having non-uniform and potentially varying per-element processing requirements. Programs to be integrated into the tiling method are partitioned into (i) a "computation phase" and (ii) a "balancing phase". The computation phase corresponds to the application's implementation without load balancing. Each processor operates on its local data, exchanges inter-processor boundary data, and processes the boundary data. A balancing phase follows a predetermined number of computation phases in order to restore load balance. Each balancing phase comprises the following operations:
Each processor determines its work load as the time to process its local data since the previous balancing phase less the time to exchange inter-processor boundary data during the computation phase. Neighborhood average work loads are also calculated.
Each processor compares its work load to the work load of the other processors in its neighborhood and determines which processors have greater work loads than its own. If any are found, it selects the one with the greatest work load (ties are broken arbitrarily) and sends a request for work to that processor. Each processor may send only one work request, but a single processor may receive several work requests.
Each processor prioritizes the work requests it receives based on the request size, and determines which elements to export to the requesting processor(s). Individual elements' processing costs are used so that only enough elements to satisfy the work request(s) are exported. Details of the preferred selection method are provided below.
Once elements to be exported have been selected, the importers and concerned partners are notified. Importing processors allocate space for the incoming elements, and the elements are transferred.
Synchronization guarantees that all processors enter the balancing phase at the same time. In the preferred embodiment, each processor simply executes the same number of computation phases before entering the balancing phase.
The preferred method for selecting elements for export results in a "peeling" of elements on the processor boundary, preventing the creation of "narrow, deep holes" in the element structures. Elements are assigned priorities (initially zero) based upon the locality of their element neighbors. An element's priority is decreased by one for each element neighbor in its own processor, increased by two for each neighbor in the importing processor, and decreased by two for each neighbor in a concerned partner processor. Thus, elements whose neighbors are already in the importing processor are more likely to be exported to that processor than elements whose neighbors are in the exporting processor or some other processor. When an element has no neighboring elements in its local processor, it is advantageous to export it to any processor owning its neighbors. Thus, "orphaned" elements are given the highest export priority. When two or more elements have the same priority, the processor Selects the element with the largest work load that does not cause the exported work to exceed the work request or the work available for export.
FIG. 4 illustrates an example of element priorities and selection for exporting four elements to the east neighboring processor. Initially, elements 3, 6, 9, and 12 are eligible for export. Their priorities are computed; element 3, for example, has priority -2, since it has two local neighbors (-2), one neighbor in a concerned partner processor (-2), and one neighbor in the importing processor (+2). Elements 6 and 9 share the highest priority, but since element 6 has a greater work load, it is selected. Element 5 becomes eligible for export, but its priority is low since it has three local neighbors. The priorities are adjusted, and element 9 is selected, making element 8 a candidate. The priorities are again updated, and the selection process continues with elements 3 and then 12 being selected. Although the work request is not completely satisfied, no other elements are exported, as the work loads of the elements with the highest priority, 5 and 8, are greater than the remaining work request.
The "global imbalance" of processor array PA is defined as: ##EQU1## where L(p) is the integer-valued load for processor p and α is the average work load per processor. The tiling method of the present invention minimizes the global imbalance of the system within a finite number of balancing steps.
Proof: Assume some neighborhood Nx with center processor px is not balanced. During balancing phase t, some neighbor pj of px requests (L(px)-L(pj))/2 units of work from px. Since the two processors are unbalanced, β units of work are transferred, where
and the new processor loads are
L(px)t+1 =L(px)-β, and L(pj)t+1 =L(pj)+β.
one has
GIMB(PA)t -GIMB(PA)t+1 =2 βδ>0.
Thus, each local migration operation reduces GIMB(PA) by an integer value.
The function GIMB(PA) assumes a global minimum when the system is balanced. Because GIMB(PA) is non-negative for any load assignment and each neighborhood balancing operation reduces GIMB(PA) by an integer value, the minimum is attained in a finite number of neighborhood balancing steps.
When the system is balanced, ##EQU2## for all neighborhoods N, where C is the maximum load generated by an element in the application. The maximum difference between the largest and smallest load in a balanced system is then c[d/2], where d is half as large as in applications with non-periodic boundary conditions.
In the preferred embodiment, elements are managed by data structures that maintain element connectivity and data position information, as shown in FIG. 5. Local elements are stored in an AVL tree to allow efficient insertion and deletion during migration. During the computation phase, local elements are accessed via in-order traversal of this tree.
Ghost elements are also stored in an AVL tree. Ghost element data are stored contiguously, so a processor can receive the data in a single message from each neighbor and read the messages directly into the ghost element data space (i.e., without buffering the data and then moving it into the ghost element data space).
Data gather operations are needed to send boundary local element data to neighboring processors. Thus, boundary local elements are maintained in multiple binary trees, one for each neighboring processor, facilitating proper ordering of the boundary element data during gather operations.
A heap is used to maintain a priority list of elements that are candidates for export. Each heap entry has two data items, the element's priority and a pointer to the element itself, to enable dynamic update of an element's priority.
The tiling method of the present invention is independent of the application. The present invention preferably uses three application interface routines, referred to herein as App-- preproc(), App-- compute(), and App-- postproc(). The application programmer provides these routines, using the data structures for the element mesh provided by the present invention.
App-- preproc() creates elements and specifies their initial values. Three major routines are preferably provided to the application pre-processing code: create-- ghost-- element(), create-- local-- element(), and convert-- links(). The two element creation routines allocate element control structures and insert them into the appropriate element management trees. Element pointers are initialized to the neighboring elements' identification numbers, since the addresses of the elements may not yet be known. However, once all of the local and ghost elements have been created, the procedure convert-- links() replaces the element numbers with actual pointers. The element trees are available to the application programmer to, e.g., specify parameters and data.
The processing performed by App-- preproc() is generally unbalanced. Typically one processor accesses host files to get run-time initialization information and broadcasts this information to the remaining processors. No migration processing is performed during this initialization stage.
The procedure App-- compute() performs the intended computations and returns a completion flag upon termination, preferably as follows:
______________________________________BOOLEAN App-- compute()BOOLEAN rc;void user-- def-- rtn();extern int App-- iteration, App-- iteration-- max;extern ELEMENT-- TREE-- TYPE *Local-- tree-- root;update-- tree(Local-- tree-- root, user-- def--rtn);App-- iteration++;if (App-- iteration == App-- iteration-- max) {rc = FALSE;} else {rc = TRUE;}return(rc);}______________________________________
The Local-- tree-- root variable points to the AVL tree managing the processor's local elements. The procedure update-- tree() traverses the tree and applies the application routine user-- def-- rtn() to each local element, as follows:
______________________________________void update-- tree(ELEMENT-- TREE-- TYPE *p-- root, void user-- def-- rtn())ELDATA *p-- n, *p-- e, *p-- s, *p-- w;ELEMENT-- TYPE *p-- el;if (p-- root) {update-- tree(p-- root->left);p-- el = p-- root->p-- el;p-- me = p-- el->p-- eldata;p-- n = p-- el->nabor[NORTH]�p->p-- eldata;p-- e = p-- el->nabor[EAST]�p->p-- eldata;p-- s = p-- el->nabor[SOUTH]�p->p-- eldata;p-- w = p-- el->nabor[WEST]�p->p-- eldata;user-- def-- rtn(p-- me, p-- n, p-- e, p--s, p-- w);update-- tree(p-- root->right);}}______________________________________
Any processing can be scheduled in App-- compute(); however, any communication done during this phase will affect processor loads that are used during the balancing phase.
App-- postproc() is provided to separate the main computation from peripheral post-processing. Thus, programmers may use this routine to, e.g., transfer results to the host processor without interference from the migration processing.
The application interface to the tiling method of the invention is modularized so that application programmers who are not specialists in parallel computing science can easily improve the performance of their application programs. The invention's communication method is isolated to very few routines, leading to simple porting of the method from one massively parallel MIMD architecture to another.
The extension of the method of the present invention to 3-D regular grids is straightforward. The element interconnections remain simple; pointers in the z-direction are included with the 2-D pointers in the x- and y-directions. The concept of processor neighborhoods does not change, but each neighborhood contains more processors to track and notify of changes than in a 2-D grid, making the balancing overhead higher. The method is also similarly extensible to irregular grids and adaptive mesh refinement methods, as those skilled in the art can appreciate.
The invention is further illustrated by the following non-limiting examples.
The computational results presented below were obtained by applying the tiling load balancing method to a massively parallel, adaptive finite element method for hyperbolic conservation laws of the form
ut +f(u)x +g(u)y =0, (x,y) εΩ, t>0,(1a)
with initial conditions
u(x,y,0)=u0 (x,y), (x,y) εΩ∪δΩ,(1b)
where u is the system of conservation variables modelled by the finite element discretization, f and g are flux functions, Ω is the physical problem domain, δΩ is the boundary of the domain, and subscripts t, x, and y denote differentiation with respect to time and space in the x- and y-directions. The Euler equations, used in computational fluid dynamics, and the shallow water equations, used in global climate modelling, are examples of hyperbolic conservation laws.
A local discontinuous Galerkin finite element method is used. Cockburn et al, "The Runge-Kutta Local Projection Discontinuous Galerkin Finite Element Method for Conservation Laws IV: The Multidimensional Case," Math. Comp. 54:545-81 (1990). Restricting Ω to be rectangular, partition it into rectangular elements
Ωij ={(x,y)|xi-1 ≦x≦xi, yj-1 ≦y≦yj }, i=1,2 . . . ,I, j=1,2, . . . , J.
Approximate the solution u(x,y,t) on Ωij by a basis of tensor products of Legendre polynomials on the canonical element
Ωc ={(ξ,η)|-1≦ξ,η≦1}
that are continuous on the element, but may have discontinuities at inter-element boundaries: ##EQU3## Multiplying Eq. (1) by a test function proportional to Pk (ξ)Pm (η), integrating the result on Ωij while integrating the flux terms by parts, mapping Ωij to ΩC, and applying the orthogonality properties of Legendre polynomials, Szabo et al, Introduction to Finite Element Analysis (Wiley, New York, 1990), one constructs a weak form of Eq. 1: ##EQU4## where ##EQU5## and Δxi =xi -xi-1, Δyj =yj -yj-1.
The system of ordinary differential equations (3) is integrated in time using a Runge-Kutta method of order p+1. The boundary fluxes f(Uij (�1,η,t)) and g(Uij (ξ,�1,t)) are computed by solving an approximate Riemann problem, Roe, "Approximate Riemann Solvers, Parameter Vectors, and Difference Schemes," J. Comp. Phys. 43:357-72 (1981) and Sweby, "High Resolution Schemes Using Flux Limiters for Hyperbolic Conservation Laws," SIAM J. Numer. Anal. 21:995-1011 (1984), requiring an exchange of information across neighboring elements' boundaries. Integral terms are evaluated exactly for linear problems (f(u)=A(t)u) using the orthogonality properties of Legendre polynomials, or numerically for non-linear problems using Gauss-Legendre integration. A projection limiter, Van Leer, "Towards the Ultimate Conservative Difference Scheme IV: A New Approach to Numerical Convection," J. Comp. Phys. 23:276-99 (1977), is applied to the numerical solution to remove oscillations that develop near discontinuities.
An adaptive order enrichment (p-refinement) strategy is applied to the two-dimensional method of Eq. (3). The degree p of Uij is adjusted separately for each i=1,2, . . . , r and j=1,2, . . . ,J so that the estimated local error Eij (t) on Ωij is less than a specified tolerance TOLL. For the following examples a p-refinement spatial error estimate was used: ##EQU6## where Uij P is the pth -degree approximation of u. When Eij >TOLL, the degree of the approximation on the element is increased, and the solution for the time step is recomputed. When a time step is accepted, the adaptive strategy attempts to predict the polynomial degree of the approximation for the next time step on each element by increasing p on Ωij when Eij >0.8TOLL and decreasing p on Ωij when Eij <0.05TOLL. An outline of the adaptive refinement method follows:
______________________________________void adaptive-- p-- refinement()while (t<t-- final) {perform-- runge-- kutta-- time-- step(all--elements);do {Solution-- Accepted = TRUE;for each element {error-- estimate = calc-- estimate();if error-- estimate > TOLL { mark-- element-- as-- unacceptable(); increase-- its-- polynomial-- degree(); Solution-- Accepted = FALSE;}}if (!Solution-- Accepted) {recalc-- soln-- on-- unacceptable-- elts();}} while (!Solution-- Accepted);accept-- solution(all-- elements);predict-- degrees-- for-- next-- timestep(all--elements);t = t + delta-- t;}}______________________________________
The non-adaptive Discontinuous Galerkin method is well suited to parallelization on massively parallel computers. The computational stencil involves only nearest neighbor communication regardless of the degree of the piecewise polynomial approximation and the spatial dimension. Additional storage is needed for only one row of ghost elements along each edge of the processor's uniform subdomain. Thus, the size of the problems solved can be scaled easily with the number of processors. Indeed, scaled parallel efficiencies, Gustafson et al, "Development and Analysis of Scientific Applications Programs on a 1024-Processor Hypercube," SIAM J. Sci. Stat. Comp. 9:609-38 (1988), of over 97% have been demonstrated on an nCUBE/2 parallel computer for problems with periodic boundary conditions. For problems with non-periodic boundary conditions, elements on the domain boundary require more computation than those in the interior of the domain, causing small processor imbalances and lower parallel efficiency. Parallel efficiency substantially degrades when adaptive p-refinement is incorporated into the method.
The following
ut +2 ux +2 uy =0, 0≦x,y≦1, t>0,(5a)
was solved using the Discontinuous Galerkin method with initial and Dirichlet boundary conditions specified so that the exact solution is
u(x,y,t)=1/2 (1-tanh(20x-10y-20t+5)), 0≦x,y≦1.(5b)
FIG. 6 shows the exact solution of Eq. 5 after 20 time steps. Eq. 5 was solved with a fixed-order method (p=3) on a 32�32 element mesh and tiling on 16 processors of the nCUBE/2 hypercube. FIG. 7 shows the processor domain decomposition after 20 time steps (dark lines represent processor subdomain boundaries). The tiling method redistributes the work so that processors containing elements on the domain boundary have fewer elements than those in the interior of the domain. The global error of the numerical solution is 4.76766�10-3. The total processing time was reduced by 5.18% from 128.86 seconds to 122.18 seconds by balancing once each time step. The average/maximum processor work ratio without tiling is 0.858; with tiling, it is 0.942. Parallel efficiency is increased from 90.80% without tiling to 95.58% with tiling.
Eq. 5 was then solved using the adaptive p-refinement method on a 32�32 mesh with TOLL =3.5�10-5 and tiling on 16 processors of the nCUBE/2 hypercube. FIG. 8 shows the processor domain decomposition after 20 time steps (shaded squares are high-order elements; dark lines represent processor subdomain boundaries). The shaded elements have higher-degree approximations and thus higher work loads. The tiling method redistributes the work so that processors with high-order elements have fewer elements than those processors with low-order elements. The global error of the adaptive solution is 4.44426�10-3, comparable to the fixed-order method above. The total processing time for the adaptive method was reduced 41.98% from 63.94 seconds to 37.10 seconds by balancing once each time step. Note the time reduction of the adaptive method over the fixed-order method even without load balancing. The average/maximum processor work ratio without tiling is 0.362; with tiling, it is 0.695. Parallel efficiency is increased from 35.10% without tiling to 60.51% with tiling.
Eq. 5 was next solved for 225 time steps on 1024 processors of the nCUBE/2 without tiling and then with balancing once each time step. A fixed-order method with p=2 produces a solution with global error 6.40644�10-2. Using the tiling method once each time step reduced the total execution time 6.25% from 1601.96 seconds without tiling to 1501.90 seconds with tiling. Parallel efficiency without tiling was 82.7%; with tiling, it was 88.2%
The adaptive p-refinement method produced a solution with global error 3.84807�10-2, roughly 40% less than with the fixed-order solution. With tiling, the maximum computation time (not including communication or balancing time) was reduced by 56.6% (see Table 1). The irregular subdomain boundaries created by the tiling method increased the average communication time by 3.8%. Despite the extra communication time and the load balancing time, however, one sees a 44.2% improvement in the total execution time.
TABLE 1______________________________________Performance comparison forExample 2 without and with tiling Without Tilling With Tiling______________________________________Total Execution Time 988.60 seconds 551.62 secondsMaximum Computation 927.18 seconds 402.73 secondsTimeAverage 59.62 seconds 61.88 secondsCommunicationTimeMaximum Balancing 0.00 seconds 23.87 secondsTimeAverage/Maximum 0.359 0.827Work RatioParallel Efficiency 33.68% 60.37%______________________________________
FIGS. 9 and 10 illustrate the convergence of the processor work loads from uniform domain decomposition toward global balance. FIG. 9 shows the +1 and -1 standard deviation curves of the maximum computation time for each time step. Initially, the deviation is large, indicating the processors are far from global balance. The deviations quickly become smaller, indicating the processors rapidly approach balance. FIG. 10 shows the maximum processing costs per time step, including the computation time and the balancing time, without tiling (dashed line) and with tiling (solid line). Even including the load balancing time, the balanced computation's maximum cost per time step is significantly lower than without tiling. Variations in the cost per time step without tiling illustrate the changes in computational effort caused by the adaptive finite element method.
FIG. 11 illustrates the cumulative maximum processing times with and without tiling. The immediate and sustained improvement of the application's performance is shown.
The preceding examples can be repeated with similar success by substituting the generically or specifically described operating conditions of this invention for those used in the preceding examples.
Although the invention has been described in detail with particular reference to these preferred embodiments, other embodiments can achieve the same results. Variations and modifications of the present invention will be obvious to those skilled in the art and it is intended to cover in the appended claims all such modifications and equivalents. The entire disclosures of all publications cited above, and of Wheat, A Fine Grained Data Migration Approach to Application Load Balancing on MP MIMD Machines (Ph.D. thesis, University of New Mexico, Dept. of Computer Science, Albuquerque, December 1992) (which further discloses and exemplifies the present invention), are hereby incorporated by reference.
Patent Citations
Non-Patent Citations
Referenced by
Legal Events
Original Image


text:
Student Government Association (SGA)
Posted by Christian Ume-Ezeoke, Student Government Association, September 3, 2013
The Student Government Association first general assembly of the fall 2013 semester will be held on September 5th, 2013 in the HUC Harris room.
Posted by John Montoya, Student Government Association, August 29, 2013
Mandatory meeting for all candidates running for a Senator position in fall election
Posted by Brian Smith, Student Government Association, February 25, 2013
Student Government Elections will be held on March 5 and 6. Students are encouraged to vote in the elections.
Posted by Brian Smith, Student Government Association, February 22, 2013
The University Life Awards is a UTSA tradition that honors our most outstanding students, student organizations, faculty and staff members.
Contact Info
One UTSA Circle
San Antonio, TX 78249
United States of America
San Antonio, TX 78249
United States of America
Primary Contact
Ileana Gonzalez


text:
item(s) in cart
My Account X
Ruger Mini-14 Ranch Centerfire Rifle
Item # 732704
Key Features
Garand-Style Action
Hammer-Forged Barrel
Integral Scope Mounts
Our Price $999.99
Availability: Sold Out
- You must be at least 18 years old to purchase this item.
- Additional discounts do not apply.
Prices, promotions, styles and availability may vary by store and online.
- details & specs
- |
- accessories
- |
- reviews
details & specsback to top
Product DescriptionPrecision on the Range, at the Ranch, on Patrol or in the Woods. For decades, Ruger Mini-14 rifles have been the choice for applications ranging from the farm and ranch, to the deep woods, to personal defense. Their short barrels and overall short length make them favorites in any application where maneuverability and ease of handling are priorities. With a variety of configurations from the standard Ranch Rifle, to the extremely accurate Mini-14 Target Rifle, to the Tactical models with ATI folding stock or compact barrel with flash suppressor - there is a Mini-14 to meet any demand. Specifically designed for mounting today's scopes or other optical sighting systems, these rifles include a side ejection to clear the top mounted scope, and a patented recoil buffer which protects the scope from damage or shifting the point of impact as the semi-automatic action cycles.
product reviewsback to top
Reviewed by 1 customer
- Accuracy
- Compact Design
- Durable
- Easy Maintenance
- Easy To Use
- Lightweight
Best Uses
- Home Protection
- Hunting
- Long Range
- Shooting Ranges
- Short Range
Comments about Ruger Mini-14 Ranch Centerfire Rifle:
love everything about it. the only downside is the price of ammo.this is a all around gun that you will love.
- Was this a gift?:
- No


text:
Book Search
The Routledge Companion to Accounting Communication
Series: Routledge Companions in Business, Management and Accounting
One of the prime purposes of accounting is to communicate and yet, to date, this fundamental aspect of the discipline has received relatively little attention. The Routledge Companion to Accounting Communication represents the first collection of contributions to focus on the power of communication...
Published April 29th 2013 by Routledge
Religious Experience
A Reader
Series: Critical Categories in the Study of Religion
Many regard religious experience as the essence of religion, arguing that narratives might be created and rituals invented but that these are always secondary to the original experience itself. However, the concept of "experience" has come under increasing fire from a range of critics and theorists...
Published November 2nd 2012 by Routledge


text:
Stores »
I am going to create a WIne List today.
This wine is smoooooooothe.......
Perfect for airing your wine so that each glass tastes just as good
We are a community of shoppers sharing our best finds from across the web.
© 2015 ThisNext, Inc. ThisNext is a member of BUZZMEDIA Entertainment, a division of BUZZMEDIA.
Create your own free digital magazine at our new site Glossi.com


text:
$299.99 - $699.99
Enjoy restful and refreshing sleep with this convention cooled mattress. The memory foam allows this mattress to conform to your body's unique shape. This mattress is flame retardant and hypoallergenic. Its exterior is made of a soft comfortable material. This mattress is available in 8", 10" and 14" thicknesses. Spot clean only.
$299.99 - $399.99


text:
Horror film star Bruce Campbell hosts evening at the Pabst
Bruce Campbell, king of "B" movies and lord of chins, will host a live "Evening with Bruce Campbell," at the Pabst Theater at 8 p.m. March 2.
Campbell is best know for his starring roles in the cheesy, quirky horror classics "Evil Dead," "Evil Dead II" and "Army of Darkness" but he has also appeared in all three "Spider-Man" films and the surprising nuanced horror spoof/social commentary "Bubba Ho-tep." »Read Full Article
Coach fired after dance team performed song Miley Cyrus made infamous
A Wisconsin high school dance coach has been fired after her team performed a routine to an edited version of "Blurred Lines," a popular song by Robin Thicke, the Wausau Daily Herald reports.
Lisa Jolin was fired from her job at Marshfield High School in August, after the dance team performed Aug. 23 at the first home football game. Days later, Thicke and Miley Cyrus performed the sexually suggestive — and what some describe as misogynistic — song at the MTV Video Music Awards. »Read Full Article(56)
Milwaukee writer Kipp Friedman recalls life with father, Groucho, more
Going to Knicks games with Peter Falk, sitting in the aged Groucho Marx's parlor listening to him sing "Hooray for Captain Spaulding," eyeing naked women in Off-Broadway plays — Kipp Friedman had quite an adolescence, thanks to the big macher who made it all happen.
His father, Bruce Jay Friedman. »Read Full Article
New owners want to add sit-down bar at Sendik's grocery on Downer St.
The Milwaukee Common Council's Licenses Committee on Tuesday approved a food dealer license and a Class B tavern license for Nehring's Sendik's on Downer, a new grocery store that will also include a sit-down bar that will serve pizza, pasta and other foods.
John and Anne Nehring operate three other grocery stores: Nehring's Sendik's, at 4027 N. Oakland Ave., Shorewood; G. Groppi Food Market, at 1441 E. Russell Ave. in Milwaukee's Bay View neighborhood; and Nehring's Family Market, at the Milwaukee Public Market in the Historic Third Ward. »Read Full Article(6)
New trailer for 'The Hobbit: The Desolation of Smaug'
Watch the new trailer for "The Hobbit: The Desolation of Smaug," below.
The film by Peter Jackson, an adaptation of J.R.R. Tolkien's popular classic, stars Martin Freeman as Bilbo, Ian McKellen as Gandalf, Cate Blanchett as Galadriel and Orlando Bloom as Legolas. Benedict Cumberbatch is the voice of Smaug. »Read Full Blog Post
On Tap Today: Well, hello October
Jazz band the Hypnotic Brass Ensemble is featured in the documentary "Brothers Hypnotic," screening tonight at the Milwaukee Film Festival. Journal Sentinel photo by Bill Schulz. »Read Full Blog Post
Milwaukee Film Festival pick: Day Six
The dramatically literal sometimes misses the point.
"Captain Phillips," the upcoming Tom Hanks film about Somali pirates, is a tense film about a fact-based event that ignores or pays lip service to the pirate's motives. »Read Full Blog Post


text:
Earn 50 Birchbox points for every friend that purchases a subscription.
Create a free account to check out faster, store multiple shipping addresses, view and track your orders in your account, and much more.
Join Now Received a gift? Redeem Now!
Please enter your password to continue.
Keep this large 200 ml bottle at home, and stow the matching petite 30 ml size in your purse for on-the-go spritzing.
Atelier Cologne
Availability: In stock
Citrus scents are impossibly fresh, but they also have a habit of going missing after a few hours. Until now, that is. This concentrated, distinctive blend lasts much longer than traditional citrus scents. Orange Sanguine is meant to recreate a moment in time, and mimics the blissful feeling of sitting on an oceanfront terrace, with groves of orange trees off in the distance. The joyful scent has top notes of blood orange and bitter orange, a middle transition with jasmine and geranium, and a base of amber woods, tonka beans, and sandalwood.
Apply to pulse points like wrists, neck, and even behind the knees. Hold the bottle six to seven inches away from skin and spray lightly. Allow the scent to dry for a few seconds before smelling. For purists, you can easily unscrew the atomizer and splash the scent onto skin.
alcohol denat. (sd alcohol 39-c), parfum (fragrance), aqua (water), linalool, butyl methoxy dibenzoylmethane, ethyl hexyl methoxycinnamate, ethyl hexyl salicylate, benzyl alcohol
Other reviews are noting that it is light and fresh, but it seemed chemically and a bit too strong for me.
So delicious! I like this scent so much I added a few drops to my unscented sunscreen. It's fresh and charming without being overpowering. True love.
I love fresh citrus scents and this one did not disappoint. It also lingers well past a few hours! It was not overwhelming and is very light.
This scent is light and refreshing, but I wouldn't choose it as an everyday scent to use. It just has that specific citrus fruit smell that I'm not that into.
The perfect smell for summer. Very citrusy and clean smelling perfume for summer. The scent lasts all day and even after the initial fade it still smells great! The price tag isn't very bad if you wear perfume everyday because this will be your "go to" every time you need it.
I love this fresh clean scent. It is not too heavy but is still enough to make me feel special !
When I use Atelier's Orange Cologne, I get compliments all day long. Sometimes if I close my eyes I think I am in Florida surrounded by orange trees. It makes a bad day better, and makes you feel like you've dosed yourself with an orange minus the stickiness.
This is not your average perfume and I was a little skeptical but it smells great! Fresh, light and summery. It is not overly-citrusy which is great.
Smells too lemony and citrusy for me. Does not come in a spray, you have to dab it on your points. Does not last very long.
This scent is fruity and nice. But I can't possibly justify the price tag. I think I'd just as soon rub orange slices on my body.