An Adaptive Deadlock and Livelock Free Routing Algorithm
国际救生设备规则英文版

国际救生设备规则英文版International Life-Saving Appliance (LSA) Regulations1. Introduction2. Application3. Types of Life-Saving AppliancesThe LSA regulations cover a wide range of life-saving appliances that must be carried on board ships. These include:3.1 Lifebuoys: Ships must carry a sufficient number of lifebuoys that are easily accessible on both sides of the ship. These lifebuoys must be fitted with an appropriate buoyant lifeline and must be properly marked or illuminated.3.2 Lifejackets: Ships must carry an adequate number of lifejackets for all persons onboard. These lifejackets must be capable of being worn and easily donned, holding the wearer in an upright position. Additionally, they must be equipped with a whistle, a light, and a retroreflective material for enhanced visibility.3.3 Immersion Suits: Ships operating in cold waters must carry immersion suits that protect individuals from hypothermia in case of abandoning the ship. These suits must be of an approved type and provide adequate buoyancy and thermal protection.4. Testing and MaintenanceThe LSA regulations also specify the testing and maintenance requirements for life-saving appliances. Ships must ensure that all life-saving equipment is regularly inspected, tested, and maintained in accordance with the manufacturer's guidelines and the regulations set forth by the IMO. This includes regular checks of buoyancy, functionality of lights and signaling devices, and proper stowage of life-saving appliances.5. Certification and Documentation6. Training and DrillsTo ensure the effective use of life-saving appliances, the LSA regulations require ships to conduct regular training and drills for the crew. These drills must include instructions on how to operate and maintain life-saving appliances, as well as practical training in launching and recovering lifeboats, using lifebuoys and lifejackets, and proper procedures during emergencies.7. ConclusionThe International Life-Saving Appliance (LSA) Regulations play a crucial role in ensuring the safety of ships and individuals at sea. By outlining the design, construction, maintenance, and training requirements for life-saving appliances, these regulations aim to enhance the preparednessand response capabilities of ships during emergencies. Adherence to the LSA regulations is essential to promote a culture of safety and protect lives at sea.。
超科幻未来房子英语作文

超科幻未来房子英语作文Title: The Ultimate Abode: A Glimpse into the Super-Sci-Fi Future Home。
In the not-so-distant future, humanity's relationship with technology will transcend current boundaries, paving the way for a futuristic living experience that blurs the lines between imagination and reality. Enter the super-sci-fi future home, a marvel of innovation and comfort unlike anything seen before.At the heart of this futuristic dwelling lies an intricate network of artificial intelligence (AI) and advanced robotics, seamlessly integrated into every aspect of daily life. Imagine waking up to the gentle hum of your personal AI assistant, who not only greets you with your customized morning routine but also anticipates your needs before you even realize them yourself.Step into the living area, where the walls themselvescome to life with immersive holographic displays, allowing you to transform your surroundings at will. Whether you prefer a serene forest retreat or a bustling cityscape, the possibilities are endless, limited only by your imagination.But the true magic of the super-sci-fi future home lies in its adaptive architecture. Gone are the days of rigid floor plans and static living spaces. Instead, nanotechnology-infused materials enable the home to shape-shift according to your preferences, creating dynamic environments tailored to your mood and activities.Need a cozy nook for reading or a spacious area for entertaining guests? With a simple voice command or gesture, the furniture seamlessly reconfigures itself to suit your needs, blurring the lines between form and function.Of course, no futuristic home would be complete without cutting-edge sustainability features. Advanced solar panels and energy-efficient systems ensure minimal environmental impact, while integrated recycling and waste management systems work tirelessly behind the scenes to keep the homerunning smoothly.But perhaps the most awe-inspiring feature of thesuper-sci-fi future home is its ability to transcendphysical limitations. Through the power of virtual reality and augmented reality technologies, you can explore distant worlds, attend live events, or even meet up with friendsand family from the comfort of your own home.In this hyper-connected future, distance becomes obsolete, and the boundaries between the virtual and thereal begin to blur. Yet, amidst all the technological marvels, the super-sci-fi future home remains a sanctuary,a place where comfort, convenience, and innovation converge to create an unparalleled living experience.As we peer into the future, one thing becomes clear:the possibilities are as limitless as the imaginationitself. The super-sci-fi future home is not just a dwelling; it's a glimpse into a world where the boundaries between fantasy and reality fade away, leaving only endless possibilities in their wake.。
1. Programmable Safety Systems

Paper for the Software Engineering for Parallel Systems Workshop,Aachen, Germany, 1993.Engineering Safety-Related Parallel SystemsC.I. Birkinshaw, P.R. Croll,D.G. Marriott, P.A. NixonE–mail: P.Croll@Parallel Processing Research Group,Department of Computer Science,The University of Sheffield, UK.Tel: +44-742-825590, Fax: +44-742-780972Keywords:Parallel processing, Safety–Related computing, Software Engineering.1. Programmable Safety SystemsA growing number of control systems are adopting software to facilitate low cost, adaptive control mechanisms. Although a significant number of these systems will not be installed specifically as controls for safety, many will have safety implications if they fail [DTI–92]. Safety–critical systems, i.e. those that are considered as directly life threatening, are usually subject to meticulous procedures to satisfy the appropriate safety standards, for example, UK military standard MOD 00–55 [Mod–89]. Non critical systems that have indirect safety implications are regarded as safety related. Examples will include robotic control systems, mimic diagrams and even vending machines, which although not usually regarded as dangerous in their own right have the potential to scald, electrocute and even poison individuals. New standards are emerging which address these systems, e.g. IEC 65A [Ben–91]. But such standards are intentionally non prescriptive allowing the system designer to chose the appropriate method to suit the risks involved. Of the methods suggested by the IEC standard, e.g. CCS, CSP, HOL, LOTUS, OBJ, Temporal logic, VDM and Z, none are particularly good as practical design methods for developing parallel systems. Yet, this deficiency intensifies as transputers continue to prove their applicability to real–time control [Irw–92]. This paper will, therefore, outline a framework which satisfies the reliable development of safety related software utilising the high performance obtainable from the latest parallel processing technologies.2. Requirements for Safe Parallel SystemsDesigning sequential systems is a familiar technique to many but designing parallel systems is perceived as difficult, and developing reliable parallel systems seems impossible. Indeed the early draft standards discounted parallel processing as unsafe [May–90] as the comittees considered parallel systems introduced complexity which does not exist on a sequential machine. Consider two communicating processes accessing a resource. The messages between processes must be examined to prevent deadlock and a process must not be livelocked out of accessing the resource. The requirements of the processes must be handled fairly to keep the computation load balanced. Analysis of timing can become complex as unknown communication delays have to be considered.If the above problems can be removed or diminished then parallel processing offers additional benefits. The world is an inherently parallel place and the decomposition of a parallel problem leads naturally to a parallel implementation avoiding the complexity which evolves from forcing a sequential solution [Wel–90]. Each process in parallel system is simple and self contained which aids analysis. Performance can be scaled by adding extra hardware instead of optimising the code and this extra hardware also leads to increased reliability with the possibility for fault tolerance through redundant hardware.3. Design Issues3.1. Safe State AnalysisSafe state analysis is concerned with identifying unsafe or hazardous states within systems. The systems nature has to be stressed here, for software on its own does not cause accidents, or represent potential danger to life and environment. Software, hardware and the environment are all within the scope of our concern.For concurrent systems, we concentrate on safety and liveness properties. Safety and Liveness properties of concurrent programs have been studied and formally defined in [Alp-85] and [Lam-80]. Informally we can state that:A safety property stipulates that some bad thing does not happen duringexecution, and a liveness property stipulates that a good thing happensduring execution.Furthermore, we can introduce temporal logic [Man–81] to make statements about properties we wish to hold over time. The temporal logic includes operators ALWAYS, EVENTUALLY and LEADS_TO, which operate over a list of predicates. Consider a level crossing, a safety property might be:Always ((car_over_rails AND NOT train_approaching) OR(NOT car_over_rails AND train_approaching) )whereas a liveness property could be:EVENTUALLY (barrier_down LEADS_TO train_approaching)Now we have a conceptual way of defining liveness and safety properties, we need a means of modelling a system so that we may analyse it for the these properties.3.1.1. Petri Nets as a Model for Safe State AnalysisPetri nets are a mature model of concurrency, and high level nets such as Coloured Petri Nets [Jen–92] are powerful modelling tools with commercial software support [Met–92]. We can view the net as a model of the causal relationship between states of communicating sequential processes. Coloured Petri nets are an extension to Place/Transition nets and a refinement of Predicate/Transition nets allowing tokens to represent data values from a multiset or colour set. Resultant nets are generally smaller than the equivalent Place/Transition net, because similar parts of the net may be folded into one, and the distinction between parts of the net is defined by token colours. Tokens can now represent complex data objects, and analogously, different token types are distinguished by their colour. A marking must now specify the multiset of tokens occupied in any place. Boolean expressions can act as transition guards, enabling or disabling a transition. Arc expressions can change the values of variables bound to tokens, and generate or destroy tokens if needed.Petri nets are especially useful, as they allow us to model the whole system, not just the software or hardware which is under computer control; but also the non–deterministic environment in which the system operates. Such a systems viewpoint is necessary in control systems which react with the environment.Places are used to represent conditions and transitions to represent events. A Hazard is defined as a set of conditions with a state from which there is a path to mishap [Lev–87]. From this, the reachability graph allows the designer of the system to determine if the system can reach any hazardous states. For complex nets, the reachability tree suffers from the state explosion problem. This problem may be overcome by identifying the hazardous states, and working backwards to discover if the initial state can lead to a mishap. An inverse net may be created(where input and output functions are reversed), using the hazardous state as the initial state and checking to see if the true initial state can be reached. This does not always reduce the reachability tree significantly, but Leveson and Stolzy demonstrate algorithms that can reduce the amount of work needed in analysis [Lev–87]. It is possible to show that a system is free from hazards but it does not necessarily follow that the system meets its specification (a totally safe system need not do any useful work). So safeness is not a synonym for correctness.Using these techniques we can analyse for deadlock and livelock; the two areas of concern in parallel systems. Manna and Pnueli [Man–81] state that all parallel programming problems can be reduced to problems of livelock and deadlock. Clearly, tools and methods for ensuring livelock and deadlock freedom would raise our confidence in the reliability and safety of parallel programming.3.1.2. DeadlockDeadlock occurs when all processes within the system become blocked. In parallel systems, this is most usually a result of an error in synchronisation between communicating processes. Deadlock analysis is a fairly trivial task. In terms of the Petri net reachability graph, it is sufficient to show that all end nodes of the graph represent states that can be found earlier in the graph , i.e. there is no node in the graph that represents a state where no further transitions can become enabled. Showning that at least one transition can always fire is sufficient to prove deadlock freedom.3.1.3. LivelockLivelock analysis requires more effort. Livelock occurs when an individual process is indefinitely blocked from progress. We need to show that for any individual set of states (realising a single process within the system), there is always the potential for progression to a new state. We can specify the required behaviour as a liveness criterion in temporal logic, i.e. EVENTUALLY (p1 LEADS_TO p4) – a token at p1 will eventually be able to progress from place p1 to p4. Inspection of the reachability tree can confirm this property.This assumption precludes the use of a fair scheduling policy for processes at the implementation level. Hoare [Hoa–78] suggests that the correctness of a program should not depend upon any fairness assumptions of the implementation and that it is the programmer’s responsibility to ensure that the program behaves correctly. This requires us to remove all unbounded non–determinism from our model of the system, or at least impose a semantic check on the model which highlights those parts of the system that may result in unfair choice.This is a qualitative rather than quantitative expression of liveness. In hard real–time systems, livelock over a 10 minute period may be regarded as the same as deadlock. If the process is blocked for longer that some critical time period, it may well have the same consequences as if it were blocked forever. Therefore we need to incorporate time into the model.Timed Petri net models usually associate a time delay with either places or transitions. Tokens arriving at a transition are unavailable for firing on the transition’s output arcs until after some specified time period. A reachability tree for a timed net is a subset of the untimed tree and as such is smaller (or in the worst case equal) in size to the untimed tree. This is an example of timewise refinement, the addition of timing information makes the system behaviour more predictable.Davies states that including timing information has the effect of resolving non-determinism [Dav-89]. Using this extra timing information, we can make statements such as, ‘does place 1 eventually fire transition 8 within 4 ms?’.Holding shows how time critical and safety critical software may be specified and designed using Temporal Logic and Petri Nets [Hol–92]. He recognises the need for a property preserving transformation from the Petri net to some implementation language. Occam is a strong choice since it is highly parallel and has a well defined semantics, and because of this it is thepreferred target language for transformation by many researchers including Gorton [Gor–90] and Croll [Cro–92].3.1.4. Temporal specification and parallel systemsIn order to reason about a parallel real–time system, it is necessary to consider the behaviour of the system with respect to the variable time. Wirth first pointed out the need to distinguish between program correctness and the satisfaction of timing properties in 1977 [Wir–77]. Since then many differing approaches have been advocated, from logics with extensions for time [Man–81], through to programming languages with real–time semantics [Ber–85]. One approach being investigated is the use of an executable specification language, PAISLey [Zav–86], to design occam programs with predicable temporal behaviour. This approach has advantages over more traditional formal approaches, as it allows the incorporation of hardware specific information into the specification and hence more realistic analysis can be performed [Nix–93].For instance, checking the consistency of timing constraints in a parallel system can be a complex task. By using the PAISLey environment this analysis can be done automatically since the execution environment has a constraint analyser. Furthermore, timing inconsistencies may occur at simulation time that were not detectable by the static analysis of the PAISLey checker. These will be brought to the attention of the user during the simulation. It is consequently up to the user to generate test data which ensures all timing extremes are tested during a simulation. Having analysed the specification and performed a structured transformation of the specification into an implementation, we still have to prove that implementation can meet the constraints we have specified.This requires that information is included in the simulation which is implementation related. In the case of the transputer implementation this requires knowledge of context switching times and low priority scheduling. For example, assuming that all controlling processes must be placed on a single transputer allows the use of the built–in scheduling methods of PAISLey. By ensuring a round–robin schedule on all the processes a crude simulation of the low priority mechanisms of the transputer is made. By then modifying the execution environment a closer simulation is produced. This is achieved by means of user commands within the PAISLey environment. For example, Figure 1 shows the commands used to initiate the environment to act as a 5 Mhz T8. The scheduling is initiated as round–robin with the setscheduling, and the setoverhead ensures that processes are brought to the top of the queue every 2 microseconds which is approximately the period of two timeslices.”robot” : No errors were detected.PAISLey Version 3.0. Type ? for help.>script t8.script>setscheduling topdown>setoverhead 2.0 msFigure 1.P AISLey environment modified to simulate a 5MHz T8.4. Integration: what is needed?The two examples of commercially available tools presented here are StP and Design/CPN. These constitute two different approaches to the integration of design techniques. The StP approach, uses a well established design methodology1, and integrates various formalisms to check differing aspects of the design. The Design/CPN system uses a consistent approach throughout, concentrating on applying a rigorous theory which integrates all the 1.As distinct from a formalism.necessary mechanisms (i.e. time, state analysis, modularity, hierarchies). Each approach has its own virtues, and drawbacks. But if heed is taken of the lessons of science in general, mathematics and physics two points in case, it can be seen that the “unified solution to everything” never survives long under close scientific scrutiny. Thus, it is the authors belief that a flexible environment, as offered by StP, which allows different techniques to be used for different problems has more potential and flexibility. The future may, or may not, provide better approaches for each of the problems highlighted. But if these solutions arrive, the environment can be changed to cater for these advances. Thus leaving the intuitive design process constant, and only changing the analysis performed.4.1. Software through PicturesSoftware through Pictures (Stp) is a CASE package developed by IDE. It provides an open environment to which user applications may easily be added. It allows an integrated systems approach which is guarantied to provide consistency between tools. The use of CASE and rapid prototyping can encourage less time being spent reasoning about a design. If formal checks can be introduced in the design cycle then we can introduce more confidence in the design. This is a step towards truly engineered software in which the union of CASE tools and proof assistants in a fully automated design environment. Figure 2 shows an example of StP with extensions to include Petri–Net editor, PAISLey specification language and the occam toolset.Figure 2.StP CASE environment with P AISLey specification language, Petrinet editor and Inmos toolset.4.2. Design/CPNThe CASE tool used is Design/CPN which is a commercial product [Met–92] (Figure 3.). This will emphasise how a diagrammatical approach maintains the inherent parallelism of the design while abstracting the mathematics.Figure 3: Design/CPN5. ConclusionsCASE tools provide a framework for the widespread adoption of formal methods in software engineering. For safety applications, hiding formal methods behind automated tools is the only way to increase confidence in designs given the current level of expertise within the software engineering community. This is the subject of continuing research.6. References[Alp–85]Alpern, B., Schneider, F.B., “Defining Liveness”, Information Processing Letters Number 21, pp181–185, October 1985.[Ben–91]Bennett, P.A., “Forwards to safety standards”, Software Engineering Journal, Vol 6, No 2, pp37–40, March 1991.[Ber–85]Berry, G.,Cosserat, L., “The ESTEREL synchronous programming language and its mathematical semantics”, In LNCS 197, pp389–449, Springer–Verlag, 1985. [Cro-92]Croll, P.R., “Safe and Deterministic Real-Time Programming in non-deterministic Parallel Processing Systems”, IFAC Workshop on Real-Time Programming,Bruges, 23-26 June, 1992.[Dav-89]Davies, J., Schneider, S., “An Introduction to Timed CSP”, Technical monograph prg–75, Oxford University Computing Laboratory Programming Research Group,August 1989.[Dti–92]Department of Trade and Industry (DTI, UK), “Safety Related Computer Controlled Systems Market Study”, A review for DTI by Coopers and Lybrand inassociation with SRD–AEA Technology and Benchmark Research, HMSO,London, 1992.[Gor–90]Gorton, I., “Specifying occam programs with high–level Petri nets”, The 3rd Australian occam and Transputer user group conference, 1990.[Hoa–78]Hoare, C.A.R., “Communicating Sequential Processes”, Communications of the ACM, V ol 21, No 8, August 1978.[Hol–90]Holding, D.J., Sagoo, J.S., “A Formal Approach to the Software Control of High–Speed Machinery”, Chapter 9, in some book wot Pete’s got.[Irw–92]Irwin, G.W., Fleming, P.J., “Real–time control applications of transputers”, In Transputer Applications: Progress and prospects, Ed. M.R. Jane, R.J. Fawcett, T.P.Mawby, IOS Proess, 1992.[Jen–90]Jenson, K., “Coloured Petri Nets: A high level language for system design and analysis”, Lecture notes in computer science, Ed. G. Rozenberg, Advances inPetri nets, Springer–Verlag, 1990.[Lam–80]Lamport, L., “‘Sometime’ is sometimes ‘not never’”, Proceedings of the 7th symposium on Principles of Programming Languages, pp174–185, 1980.[Lev–87]Leveson, N.G., Stolzy, J.L., “Safety Analysis Using Petri Nets”, IEEETransactions on Software Engineering Volume 13, Number 3, pp386–397, March1987.[Man–81]Manna, Z., Pnueli, A., “Temporal specification of concurrent programs: The temporal framework for concurrent programs”, in The Correctness Problem inComputer Science, Ed. R.Boyer & J.Moore, 1981.[May–90]May, D., “Draft military standard 00–55”, Occam User Group Newsletter 12, pp27–30, January 1990.[Met–92]Meta Software Coporation, “Design/CPN reference manual”, 125 Cambridge Park Drive, Cambridge, Massachusetts, USA, 1992.[Mod–89]Ministry of Defence (UK), “Requirements for the Procurement of Safety Critical Software in Defence Equipment (Interim Defence Standard 00–55)”, Directorateof Standardisation, Ministry of Defence, Kentigen house, 65 Brown Street,Glasgow, G2 8EX, Scotland, 1989.[Nix–93]Nixon, P.A., Croll, P.R., “The functional specification of occam programs for time critical applications”, WoTUG 16, IOS Press, pp131–144, 1993.[Wel–90]Welch, P.H., “Parallel algorithms and safety-critical standards”, Presented at Benelux meeting on systems and control, Eindhoven, Holland, 14–16 March,1990.[Wir–77]Wirth, N., “Toward a discipline of real–time programming”, Communications of the ACM, V ol 20, No 8, pp577–583, August 1977.[Zav–86]Zave, P., “Case study: PAISLey approach applied to its own software tools”, Computer languages, pp 15–28, 1986.。
如何隔绝房间噪音英语作文

如何隔绝房间噪音英语作文Title: Effective Methods to Reduce Room Noise。
Noise pollution can disrupt our peace of mind andaffect our ability to concentrate and relax in our living spaces. Whether it's traffic sounds, construction noise, or even the chatter of neighbors, finding ways to mitigate these disturbances is crucial for a peaceful environment. Here are some effective methods to reduce room noise:1. Soundproofing Walls: One of the most efficient ways to reduce room noise is by soundproofing walls. This can be achieved by adding extra layers of drywall, using soundproofing materials such as mass-loaded vinyl, or installing acoustic panels. These measures help absorb and block out external noises, creating a quieter indoor environment.2. Sealing Gaps and Cracks: Sound can easily travel through gaps and cracks in doors, windows, and walls. Bysealing these openings with weatherstripping, caulking, or foam insulation, you can prevent noise from entering or escaping your room. Paying attention to even small gaps can make a significant difference in reducing noise levels.3. Heavy Curtains or Drapes: Thick, heavy curtains or drapes can act as barriers against noise transmission. Opt for curtains made of dense fabrics like velvet or suede,and consider installing them from ceiling to floor to maximize their effectiveness. These curtains not only block out noise but also provide additional insulation, helpingto regulate room temperature.4. Rugs and Carpets: Hard surfaces like wood or tile floors can amplify sound, causing reverberation and echoing. Placing rugs or carpets on the floor can absorb sound vibrations and reduce noise levels significantly. Choose thick, plush rugs for better sound absorption, especiallyin areas with high foot traffic or where noise tends to concentrate.5. Furniture Arrangement: Strategic placement offurniture can help break up sound waves and minimize noise transmission. Positioning bulky furniture like bookcases, sofas, or cabinets along walls can act as sound barriers and absorb sound effectively. Additionally, using furniture with soft upholstery or adding cushions to existing pieces can further dampen noise.6. White Noise Machines or Fans: White noise machines or fans emit a constant, soothing sound that masks other noises, making them less noticeable. By creating a consistent background noise, these devices can help drown out disturbances and promote a quieter atmosphere conducive to relaxation or focus.7. Soundproofing Windows: Windows are often weak points for noise infiltration due to their relatively thin glass and lack of insulation. Installing double or triple-pane windows with soundproofing features can significantly reduce external noise transmission. Alternatively, applying soundproofing window films or using heavy drapes can provide added insulation against noise.8. Use of Soundproofing Materials: Incorporating sound-absorbing materials into your room's décor can help reduce noise reflections and improve acoustics. Consider adding wall hangings, decorative panels, or acoustic tiles made of materials like cork, foam, or fabric to absorb sound waves effectively.9. Door Seals and Sweeps: Like windows, doors can also allow noise to seep through gaps and cracks around their edges. Installing door seals or sweeps can help create a tighter seal, preventing noise from entering or escaping your room. Choose seals made of rubber or silicone for optimal sound insulation.10. Electronic Noise-Canceling Devices: Advanced electronic devices like noise-canceling headphones or earplugs can provide instant relief from unwanted noise. These devices work by detecting external sounds and producing inverse sound waves to cancel them out, effectively reducing perceived noise levels.In conclusion, reducing room noise is essential forcreating a peaceful and comfortable living environment. By employing a combination of soundproofing techniques such as sealing gaps, using heavy curtains, adding carpets, rearranging furniture, and utilizing electronic devices, you can effectively minimize noise disturbances and enjoy a quieter space conducive to relaxation and concentration.。
网络攻击与防范3-漏洞

6
Sources of Vulnerabilities
• Among the most frequently mentioned sources of security vulnerability problems in computer networks are
– – – – design flaws incorrect implementation poor security management social engineering
Formal method
• The use of Internet brings security to the attention of masses
– What kind of problems can formal methods help to solve in security – What problems will formal methods never help to solve
What Are Software Vulnerabilities?
• A software vulnerability is an instance of a fault in the specification, development, or configuration of software such that its execution can violate the (implicit or explicit) security policy.
Security Vulnerabilities
• What can Security bugs an attacker do?
– avoid authentication – privilege escalation – bypass security check – deny service (crash/hose configuration) – run code remotely
失效安全系统:Fail Safe 与 Fail Secure - 何时和何处?说明书

Article Decoded: Fail Safe vs. Fail Secure – When and Where?Lori GreeneUnderstanding the basics:§Fail safe products are unlocked when power is removed. Power is applied to lock the door.§Fail secure products are locked when power is removed. Power is applied to unlock the door.§Fail safe/fail secure refers to the status of the secure side (key side, outside) of the door.§Most products provide free egress whether they are fail safe or fail secure (see below).Electric strikesAn electric strike replaces the regularstrike for a lockset or panic hardware.For a single door, it mounts in theframe and for a pair, it mounts in theinactive leaf or on a mullion. Thelockset or panic hardware stillfunctions as it normally would—freeegress is available at all times, exceptin the case of double-cylinderinstitutional function locks.The spring-loaded keeper on the electric strike controls the latchbolt of the lock or panic hardware. When access is allowed, the keeper is free and the latchbolt can be pulled through the keeper so the door can be opened. When the strike is secure, the keeper secures the latchbolt and prevents the door from being opened from the outside. In most cases, a key can be used to retract the latchbolt from the secure side of the door to allow access if a manual override is needed. And because the lock or panic hardware functions independently of the electric strike, you can exit by turning the lever or pushing the touchpad of the panic hardware, regardless of whether the electric strike is fail safe or fail secure.For electric strikes on fire-rated doors, fail secure strikes must be used because fail safe strikes do not provide the positive latching and the listings required by NFPA 80–Standard for Fire Doors and Other Opening Protectives. I specify fail secure strikes in almost all applications, except when access is required upon fire alarm. There are very limited situations where access upon fire alarm is required (see below regarding stairwell re-entry). I have been asked, “What about firefighter access?” The use of an electric strike really doesn’t change anything in regard to firefighter access. Their method for access on a door with a mechanical lockset can still be used. That might be a key or access-control credential in the key box or a tool, depending on what type of hardware is on the door.You might think, “Let’s just make all electrified products fail safe so then I know there won’t be a problem.” Well, don’t forget that electric strikes on fire doors must be fail secure so the door is positively-latched if there is a fire. But in addition, there are security concerns. Should the building or area be unlocked and allow free access every time there is a power failure? A breach of security can be extremely dangerous for building occupants, along with the potential for loss or damage. That’s not a liability I’m willing to take on.Electromechanical locksAn electromechanical lock is a locksetwhich has been electrified so that it canbe controlled by a card reader, remoterelease or other access control device.Most electromechanical locksets allowfree egress at all times. There aredouble-cylinder electromechanicallocksets which do not allow free egress,just like a double-cylinder mechanicallockset, but neither of those should beused on any door that is required foregress. Note that when you see a lockVon Duprin® 6200Series electric strikeSchlage® L Serieselectrified mortise lockwith two key cylinders, it may be a classroom security lock, which allows free egress, not an institutional function lock, which does not allow free egress.A fail secure electromechanical lockset is locked on the secure side when there is no power to the lock. To unlock it, power is applied and the lever can then be turned to retract the latch. The latch remains projected until the lever is turned.A fail safe electromechanical lockset is locked when power is applied and unlocked when power is removed. When power is removed, the lever can be turned to retract the latch. Fail safe electromechanical locks are used for stairwell doors providing re-entry. The lock is constantly powered so that the lever on the stair side is locked. During a fire alarm, the lever on the stair side is unlocked (power removed) either by the fire alarm or a signal from the fire command center, depending on which code has been adopted. Building occupants may then leave the stair to find another exit if necessary. The stair doors would also be unlocked during a power failure. The locks always allow free egress into the stair, with the exception of the stair discharge door, which can be mechanically or electrically locked on the outside but allows egress out of the stairwell.Electrified panic hardware trimElectrified panic hardware trim refersto the outside lever on panic hardwareor fire exit hardware. It operates thesame way that an electromechanicallock does—the power controlswhether the outside lever can beturned or not. The latch remainsprojected until the lever is turned, andfree egress is always available bypushing the touchpad or crossbar ofthe panic hardware.Fail safe electrified trim for fire exit hardware (panic hardware listed for use on fire doors) is used for stairwell doors providing re-entry. Most other doors are not required to allow access upon fire alarm, so I typically use fail secure electrified panic hardware trim in locations other than stairwells. Keep in mind that most codes do not require the stair discharge door to unlock upon actuation of the fire alarm. The door between the stairwell and the roof may be required, or desired, to be fail safe. This is not typical and is not a requirement of the International Building Code or NFPA 101–The Life Safety Code. I have only worked on a few projects during my career where the path of egress led onto the roof.Electric latch retractionElectric latch retraction (EL/QEL) is a function typically used on panic hardware or fire exit hardware. EL devices, or QEL for the Von Duprin “Quiet” EL, are only available fail secure. When power is applied, the latch retracts automatically and stays retracted as long as power is applied. When power is removed, the latch is projected, securing the door. Again, free egress is provided via the touchpad of the panic hardware. EL/QEL devices are sometimes used on fire doors to allow push/pull function during normal use and provide positive latching during a fire alarm. A signal from the fire alarm system to the power supply is needed.EL devices are often used with automatic operators, so the latch is retracted before the door begins to open. Electric strikes can perform this function as well. Fail safe or fail secure products can be used in this application, but I typically use fail secure except in the very rare case where access is required upon fire alarm. Electromechanical locks and electrified panic hardware trim are not used with automatic operators because the latch is not retracted until someone turns the lever, which would prevent the auto operator from opening the door.Von Duprin® 99 Series panic hardwareAbout AllegionAllegion (NYSE: ALLE) is a global pioneer in safety and security, with leading brands like CISA ®, Interflex ®, LCN ®, Schlage ®, SimonsVoss ® and Von Duprin ®. Focusing on security around the door and adjacent areas, Allegion produces a range of solutions for homes, businesses, schools and other institutions. Allegion is a $2 billion company, with products sold in almost 130 countries. For more, visit .© 2018 Allegion 012140, Rev. 08//usElectromagnetic locksAn electromagnetic lock is anelectromagnet which mounts on the frame with a steel armature mounted on the door. When you apply power to the magnet, it bonds to the armature, securing thedoor. Electromagnetic locks are only available fail safe. When you remove power, the electromagnetic lock unlocks.Because mag-locks do not provide free egress like other electrified hardware, release devices are required by code in order to allow egress. An electromagnetic lock that is released by door-mounted hardware, like a request-to-exit switch in panic hardware, is required to unlock upon loss of power. If the electromagnetic lock is released by a sensor, it must also unlock upon actuation of a push button located beside the door, upon actuation of the fire alarm or sprinkler system and upon loss of power.Summary§Fail safe locks should be used on stairwell doors requiring re-entry and any other doors which must allow free access upon fire alarm or power failure. §Fail safe electric strikes can’t be used for stairwell re-entry because fire doors require fail secure electric strikes for positive latching. Fire doors do not require fail secure electric locks—only fail secure electric strikes. §Be aware that when a fail-safe product is used, the door will be unlocked whenever there is a fire alarm or power failure, which is an obvious security risk.§Electric latch retraction panic hardware is only available fail secure—the latch projects when power is removed. §Electromagnetic locks are only available fail safe—there is no magnetic bond when power is removed. §Fail secure products are more common than fail safe due to security concerns. Power consumption may also be an issue. Fail secure products provide security when there is no power applied.§Most electrified products, with the exception of electromagnetic locks, allow free egress at all times, regardless of whether they are fail safe or fail secure.About the AuthorLori Greene, DAHC/CDC, CCPR, FDAI, FDHI is the Manager of Codes & Resources for Allegion. For more information about this topic and to download a free reference guide on codes, visit /guide.Schlage ® M400 Series electronmagnetic locksThis article was previously published in Doors & Hardware magazine.。
ruggedized and adapted

ruggedized and adaptedRuggedized and adapted, these devices are designed to withstand the harshest environments, from the scorching heat of the desert to the freezing cold of the tundra. They are built with durability and reliability at their core, ensuring that they can perform optimally even under extreme conditions.这些设备经过加固和改造,旨在承受最恶劣的环境,无论是沙漠的酷热还是苔原的严寒。
它们以耐用性和可靠性为核心进行构建,确保即使在极端条件下也能实现最佳性能。
The ruggedization process involves the use of reinforced materials and protective coatings to shield the internal components from external elements. This ensures that the devices can withstand shocks, vibrations, and extreme temperatures without compromising their functionality.加固过程涉及使用增强材料和保护涂层来保护内部组件免受外部因素的影响。
这确保设备在承受冲击、振动和极端温度时,不会损害其功能。
Moreover, the adaptability of these devices allows them to be tailored to specific needs and applications. Whether it's for military use, industrial applications, or outdoor activities, these ruggedized devices can be customized to meet the unique demands of each scenario.此外,这些设备的适应性使它们能够根据特定需求和应用进行定制。
Screamin' Blues

Owner’s ManualScreamin’ Blues ™Overdrive/DistortionWARRANTY:We at DigiT ech are proud of our products and back-up each one with the following warranty:1.The warranty registration card must be mailed within ten days after purchase date to validate this war-ranty.2.DigiT ech warrants this product,when used solely within the U.S.,to be free from defects in materialsand workmanship under normal use and service.3.DigiT ech liability under this warranty is limited to repairing or replacing defective materials that showevidence of defect,provided the product is returned to DigiT ech WITH RETURN AUTHORIZATION, where all parts and labor will be covered up to a period of one year (this warranty is extended to a period of six years when the product has been properly registered by mail or through our website).A Return Authorization number may be obtained from DigiT ech by telephone.The company shall notbe liable for any consequential damage as a result of the product's use in any circuit or assembly.4.Proof-of-purchase is considered to be the burden of the consumer.5.DigiT ech reserves the right to make changes in design,or make additions to,or improvements uponthis product without incurring any obligation to install the same on products previously manufactured.6.The consumer forfeits the benefits of this warranty if the product's main assembly is opened and tam-pered with by anyone other than a certified DigiT ech technician or,if the product is used with AC volt-ages outside of the range suggested by the manufacturer.7.The foregoing is in lieu of all other warranties,expressed or implied,and DigiT ech neither assumes norauthorizes any person to assume any obligation or liability in connection with the sale of this product.In no event shall DigiT ech or its dealers be liable for special or consequential damages or from any delay in the performance of this warranty due to causes beyond their control.NOTE:The information contained in this manual is subject to change at any time without notification.Some information contained in this manual may also be inaccurate due to undocumented changes in the product or operating system since this version of the manual was completed.The information contained in this version of the owner's manual supersedes all previous versions.The Screamin’ Blues Overdrive / Distortion is designed for guitarists who need a pedal that responds to playing dynamics.Blues players in particular will love how the Screamin’ Blues gives them total control of their tone.Playing lightly gives you a mild overdrive,but dialing up the gain and digging in hard will make the Screamin’ Blues sing with ultra-rich harmonics and sustain.1.Level KnobControls the effect output level.T urn this knob clockwise to increase the output level,and counter-clockwise to decrease output level. When using an amplifier with moderate gain,the Level knob can be turned up to drive the input harder and increase your amp's own natural distortion.Be sure to turn down the Gain knob when using it in this manner.2.Low KnobControls the boost or cut of low frequencies.T urn this knob clockwise to increase the low frequency content,and counter-clockwise to decrease the low frequency content.3.AC Adapter JackConnect a DigiT ech PS200R power supply to this e the proper supply for your area’s Mains line voltage.4.High KnobControls the boost or cut of high frequencies.T urn this knob clockwise to increase the high frequency content,and counter-clockwise to decrease the high frequency content.5.Gain KnobControls the amount of distortion.T urn this knob clockwise to increase the amount of distortion,and counter-clockwise to decrease the amount of distortion.6.Input JackConnect your instrument to this jack.Connecting a guitar cable to this jack engages battery power even though the Indicator LED may not be lit.T o prolong battery life,disconnect all cables from the pedal when not in use.7.Pedal Release PinsThese two pins are spring-loaded hinges that hold the pedal in place. Push these pins in to release the pedal from the chassis exposing the battery compartment.(See battery replacement diagram.)8.PedalPress the pedal to turn the effect on and off.9.Out 1(Amp) JackConnect this output to your guitar amplifier.10.Indicator LEDThis LED indicates when the effect is turned on.If the LED becomes dim or does not light when the cables are connected,the battery needs to be replaced.11.Out 2 (Mixer) JackThis output features DigiT ech’s speaker cabinet compensation,that lets you run the pedal directly into a mixer or recorder input without having to use a guitar amplifier.ConnectionsThe Screamin’ Blues has a single input (INPUT) and a pair of outputs (AMP and MIXER).The two outputs give you the following options: running into a guitar amplifier,running directly to a mixing console or recording device,or both.The MIXER output uses DigiT ech’s speaker cabinet compensation for an authentic guitar amplifier sound without using an amp.Follow these setup directions before use:1.T urn the volume down on the amplifier/mixer you are connecting to.2.Connect the pedal output to the amplifier/mixer input.3.Connect the guitar to the pedal input.4.Connect the power supply to the pedal (optional).5.T urn the level control on the pedal to the minimum position.6.T urn up your amplifier/mixer level to the desired listening level.7.T urn on the pedal by pressing the pedal switch and gradually turn up the level to the desired listening level.Battery Replacementing the tip of a 1/4” guitar cable,push one of the release pins in on either side of the pedal,and remove the pedal from the pedal chassis.2.Remove the battery from the battery compartment and disconnect the battery cable.3.Connect a new battery to the battery cable and put it back in the battery compartment.Make sure the battery cable does not interfere with the spring or pedal switch arm.4.Place one hole of the pedal over its corresponding pin.5.Push the opposite pin in and lower the other side of the pedal into place over the depressed pin.Release the pin.When the pedal is properly fastened,both released pins are flush with the outer side of the pedal.DigiT ech 8760 South Sandy Parkway Sandy,Utah 84070PH (801) 566-8800 FAX (801) 566-7005DigiT ech is a registered trademark of the Harman Music Group Inc.Copyright - Harman Music Group Printed 5/2004Manufactured in the USA Screamin’ Blues Owners Manual 18-1865-A Please visit DigiT ech on the World Wide Web at: SPECIFICATIONS:• Controls - Level,Low,High,Gain,On/Off Pedal• Jacks - Input,Amp Out,Mixer Out • Input Impedance - 1 MOhms • Output Impedance - 100 Ohms• Power Supply - 9V Alkaline Dry Battery • Current Draw ~ 23mA (at 9VDC)• Power Consumption - 4.8Watts (w/optional PS200R power supply)• Battery Life - Approximately 18 hours (with continuous usage)• Dimensions - 4 15/16”(L) x 3 1/8”(W)x 2 1/8”(H)• Weight - 1.38 lbs.• Optional Power SupplyPS200R - 100 (100V ~ 50/60Hz)PS200R - 120 (120V ~ 60Hz)PS200R - 230 (230V ~ 50Hz)PS200R - 240 (240V ~ 50Hz)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
An Adaptive Deadlock and Livelock Free Routing AlgorithmM.Coli, P.PalazzariDipartimento di Ingegneria ElettronicaUniversità "La Sapienza"Via Eudossiana 18, 00184 RomaE-mail coli@die.ing.uniroma1.it palazzari@casaccia.enea.itAbstractThis paper is concerned with Store and Forward deadlocks (DL) arising in interprocessor network systems with buffered packet switched communications.Algorithms which implement DL free routing use adaptive or not adaptive routing modality. Not adaptive algorithms underuse the interconnection network bandwidth because they impose restrictions to the routing paths; adaptive algorithms are DL free only if certain hypothesis on the communication topology occur. In order to override these drawbacks, we have implemented an adaptive DL free routing which fully exploits the connectivity of the network and which is unrelated to its topology. DL is avoided by adopting a recovery policy: whenever DL arises, our algorithm is able to remove it within a finite time. We demonstrate 'deadlock' and 'livelock' avoidance by ensuring the presence of a hole in the network buffers; the hole is subjected to casual movement.Performance tests, executed on a transputer based parallel machine, show the effectiveness of the algorithm and demonstrate its fault tolerance capabilities.Keywords: adaptive, routing, deadlock, livelock, fault tolerance.1 IntroductionIn parallel systems the deadlock (DL) phenomenon can take place when there is a share of resources [8]. In this work we refer to DLs caused by the filling of buffers present in the nodes of a packet switched communication network (Store and Forward DL [13]). In order to avoid deadlocks in packet switched communication networks, several techniques have been proposed. These techniques can be divided into two categories:- static routing. Only minimal length paths are used; a path between two nodes is uniquely determined by the source and destination nodes ([4], [5], [7]);- adaptive routing. All the minimal length paths are used [14]; in order to avoid DL, also the not minimal length paths are used ([1]-[3], [6], [9], [10], [12], [13]).Static routing algorithms avoid DL by choosing communication paths so that the communication graph results acyclic. As a consequence, they underuse the communication network by imposing restrictions to the number of paths available to transmit a message between two processors.Adaptive routing algorithms can use all the minimal length paths available. DL is avoided either by ensuring that communication queue graph is acyclic [14] or by performing a misrouting (i.e. a communication which increases the distance of the message from its destination) whenever a channel which approaches a message to its destination cannot be found (deflection or hot potato routing; chaotic routing waits for the internal queue to become full before performing a misrouting). These algorithms ensure DL free routing only if each communication node has the number of input channels equal to the number of output channels. Deflection routing algorithms perform a misrouting as soon as a message cannot be transmitted on a direction which approaches it to the destination; as a consequence, a message can be deflected many times before reaching its destination, so that the communication latency can be considerably enlarged.We have developed a DL free adaptive routing algorithm whichA- does not require communication nodes to have input degree equal to output degree;B- waits for a fixed time T before executing a misrouting, so that it is performed only when the possibility that DL occurs is high .A fault on one or more communication (input or output) channels does not stop the transmission of messages, because they are routed around the fault channels. Our algorithm ensures that routing modality still remains DL free when one or more faulty communication channels are present (point A). Other algorithms do not ensure that routing remains DL free in presence of faulty channels because the fault causes the input degree of a communication node not to be equal to the output degree.The algorithm we developed is based on a policy of DL recovery and implements adaptive routing because, ateach step of retransmission, a free communication channel is chosen among those channels approaching the message to its destination. The algorithm is based on the concept of the hole in the network buffers [11]; we have demonstrated that adaptive deadlock and livelock free routing modality can be implemented through the assumption of not restrictive hypothesis .Parallel machine PM can be described as PM=<P,Ls>,in which P = {P 1,P 2,...,P N } is the processors set and Ls ÍPxP is the communication channel set. A channel c ij which connects Pi to Pj is specified by the ordered couple (P i ,P j ).Each processor P i has a set of communication channelsC(P i ) = Cin(P i ) È Cout(P i )in whichCin(P i ) = {(P x ,P i ) | P x ÎP, (P x ,P i )ÎLS}Cout(P i ) = {(P i ,P y ) | P y ÎP, (P i ,P y )ÎLS}.Ls is a network which makes PM connected: thus,given any two processors P i and P j , in Ls they are connected by a path. No other constraint on Ls exists; we may have tooCin(P i ) ¹ Cout(P i ) for some i C(P i ) ¹ C(P j ) for some i,j.The messages transmission among processors is packet switched.Each processor P i has (fig. 1) a set of buffers given bySBUF(P i ) = Bin È {B i } È Boutin whichB i is an internal buffer;Bin = {Bin 1,Bin 2,...,Bin Ni } is the set of the input buffers;Bin k is the buffer on the k th input channel; its output goes toward B i ;Bout = {Bout 1,Bout 2,...,Bout No } is the set of the output buffers; Bout k is the buffer on k th output channel; its input comes from B i ;we suppose that each buffer can hold only one message;whenever ambiguity arises, we indicate explicitly theprocessor P which buffer B belongs to, i.e. B(P).fig. 1 Connections among the Pi internal buffers2. DL in communicationsLet us define a processor P i to be in a transmission deadlock state when it tries to execute a transmission without being ever successful.We suppose that a message, as soon as it arrives to the target processor P i , is absorbed by a receiving process without being transmitted to B i .In order to describe the routing algorithm, we premise some definitions:- Tx i (P k ): (routing function) it is the channel which must be used by processor P i (i=1,2,...,N) to transmit a message directed to processor P k ; the transmission of the message through the channel Tx i (P k ) approaches the message to its destination.-Dest(P k ): it gives the processor to which the message,contained in the internal buffer B i of processor P k , is directed;-Free(B,P k ) is the number of free positions in buffer B;-Bin(P i ,P j ) is the input buffer associated with channel (P i ,P j );-Bout(P i ,P j ) is the output buffer associated with channel (P i ,P j );- Neigh(P k )={P i | P i ÎP, P i ¹P k , C(P i ) Ç C(P k )¹{} }: it is the set of processors adjacent to P k ;-Next(P k ,P i ): it is the next processor to which a message must be transmitted; the message is in processor P k and is directed to processor P i ;Next(P k ,P i )ÎNeigh(P k ) andTx k (P i )=Cout(P k )ÇCin(Next(P k ,P i )).We demonstrate that our algorithm is DL free by finding a necessary condition for DL existence and,subsequently, by determining a routing modality which ensures that the necessary condition does not occur.In order to establish a theorem which supplies a necessary and sufficient condition for DL setting up in a processor network, we define in Ls a cyclic path of length n asp n = (P k 0,P k 1),(P k 1,P k 2),...,(P k n-1,P k n =P k 0),(P k i ,P k (i+1))ÎLs, i=0,1,...,n-1P k j Î P, j=0,1,...,n-1.The processors set involved in p n is:PC = {P k 0,P k 1,...,P k n-1}.theorem 2.1: NSC because DL takes place in PM is that$ p n , n•2 :1) P k (i+1)=Next(P k i ,Dest(P k i))2) Free(Bin(P k (i-1),P k i ),P k i )=0 i=1,2,...,n3) Free(B i ,P k i )=0 "P k i ÎPC4) Free(Bout(P k i,P k(i+1)),P k i)=0 i=0,1,...,n-1The proof of theorem 2.1 is reported in appendix A.Theorem 2.1 shows that DL can exist if and only if:- a cyclic path p n exists in Ls; internal buffer B i of each processor belonging to p n contains a message that must be transmitted toward the next processor of the cycle (1) - the cyclic path p n involves the existence of a cycle of full buffers; this cycle is constituted by 3n buffers (2),(3),(4).In order to avoid DLs, it is sufficient to ensure that one of 1), 2), 3) and 4) of theorem 2.1 is not verified.3 A deadlock recovery policy for adaptive routingWe say that buffer B in processor Pi contains a hole when it is empty [11]; the number of holes in B is given by Free(B,P i).When a message is transmitted from B i buffer to B j buffer, we say that a hole has moved from B j to B i.In order to implement adaptive routing modality, routing functions Tx i (i=1,2,...,N) must not be single valued.As the adaptive routing management is not well suited for a DL prevention policy, we adopted a DL recovery policy. Our algorithm performs adaptive routing by transmitting the messages toward the first available channel which approaches them to their destination; if, after a T interval of time is elapsed, no free channel has been found to approach the message to its destination, we suppose DL to be occurred and a misrouting is performed.The p n time dependence, with obvious notation, is introduced:- p n(t) is a cyclic path on Ls which, at instant t, satisfies the 1) of theorem 2.1,- PC(t) is the set of processors belonging to p n(t).In order to avoid DL we must ensure that, if a t0 exists for which a cyclic path p n(t0) satisfies 1), 2), 3) and 4) of theorem 2.1, a t1 (t0<t1<¥) exists for which p n(t1)=p n(t0) and a buffer B, with Free(B,P k i(t1))>0, is found among those referred in conditions 2), 3) and 4) of theorem 2.1. In other words we want a hole to break, in a finite time, a cycle causing DL. Particularly it is sufficient that, in a given P k iÎPC, the transmission from B i toward Bout(P k i,Next(P k i,Dest(P k i))) is aborted and directed toward a different Bout i with Free(Bout i,P k i)>0. After the transmission from B i toward Bout i is executed, Free(B i,P k i)=1 results. Condition 3) of theorem 2.1 is not more verified and DL is removed.In order to remove DL it is so sufficient to ensure that,if a p n(t) exists which satisfies all the conditions of theorem 2.1, it is always possible to find a P k iÎPC(t) and an instant t'>t for which condition 3) of theorem 2.1 is not verified.Afterwards we shall suppose holes to be subjected to casual movement, according to the followingdefinition 3.1: a hole is subjected to casual movement if, being Free(B i,P)=1, the input buffer Bin j from which to receive a message is chosen in a random and equiprobable way (Bin jÎ{B | Free(B,P)=0, BÎBin(P)}).Since to avoid DL it is sufficient that a hole breaks the cycle of full buffers reaching a locked processor P k iÎPC in a finite time, let us demonstrate the following theorem 3.1: Sufficient conditions for which a hole reaches a P i within a time t<¥ are that1) Ls is connected,2) at least a hole is present,3) holes are subjected to casual movement according to definition 3.1.The proof of theorem 3.1 is reported in appendix A.When the hypothesis of theorem 3.1 are verified, we are certain that, within a finite time, a hole will reach any processor of PM.We define a DL configuration in PM as a set PC of processors which satisfies the conditions of theorem 2.1.Now we demonstrate a theorem which, on the basis of theorem 3.1, ensures that each deadlock configuration can be removed within a finite time.theorem 3.2: in order to remove any DL configuration, a sufficient condition is that1) at least a hole is present in PM,2) the hole is subjected to casual movement accordingto definition 3.1,3) if a communication, in a processor P, from B itoward Bout j is locked, it can be redirected toward any Bout k, with Free(Bout k,P)=1, after a T time interval is elapsed.4) Ls is connected.proof: let us suppose a DL configuration is present (hypothesis of theorem 2.1 are verified); we show that it is removed if 1), 2), 3) and 4) are verified. Two situations can happen:a) in a P k jÎPC, a Bout k exists for which Free(Bout k,P k j)=1; on the basis of the 3) hypothesis, when a T time interval is elapsed, the communication coming out from B i is directed toward Bout k and, after the transmission, Free(B i,P k j)=1; as 3) of theorem 2.1 is not more verified, the DL configuration has been removed.b) no P k jÎPC has a Bout k for which Free(Bout k,P k j)=1. As the hypothesis of theorem 3.1 are verified, we are sure that by a t<¥ a hole reaches a P k jÎPC through a Bout k (ahole comes into a processor through its output buffers). We are again in situation a), so DL is removed.4 The livelockWhen a routing algorithm allows the messages to be misrouted, the livelock phenomenon can arise.If a DL free routing algorithm is based on theorem 3.2, 3) of this theorem brings the possibility of livelock, because a message can be misrouted. With the following theorem 4.1 we demonstrate that, if the hypothesis of theorem 3.2 are verified, livelock cannot take place.theorem 4.1: sufficient condition for which livelock does not arise is that all the hypothesis of theorem 3.2 are verified.The proof of theorem 4.1 is reported in appendix A.corollary to theorems 4.1 and 3.2: if the hypothesis of theorem 3.2 are satisfied, it is impossible that either deadlock or livelock situations exist.5 DL and livelock free adaptive routingIn order to implement an adaptive, deadlock and livelock free routing algorithm it is sufficient to build the internal buffer process B i in a proper manner. The input buffer processes Bin i will simply receive messages and transmit them to B i or to the node processes; similarly the output buffer processes Bout i must receive messages from B i or from the node processes and retransmit them through the output channels which they are connected to.Process B i(P k) must be such thatA- hypothesis 2) and 3) of theorem 3.2 are satisfied;B- (adaptivity condition) a message is transmitted to the first free output buffer which is placed on a c ij channel beingc ij = Tx k(Dest(P k));The algorithm which implements B i(P k) is shown in the following:algorithm which implements B i:while true do<receive a message m from a process Bin i; Bin i israndomly chosen in the set BusyBin ={B | Free(B,P k)=0, BÎBin(P k)}>{hypothesis 2) of theorem 3.2 is satisfied}repeat<try to transmit message m, which is directed tothe processor P j, toward a Bout i placed on thechannel c kiÎNextCh={c ki | c ki=Tx k(P j)}>{the adaptivity condition is satisfied}until <T sec have elapsed or the communicationwas successfully done>if <the communication has failed>then repeat<try to transmit m toward any Bout i placed ona channel c kjÎCout(P k)>{hypothesis 3) of theorem 3.2 is satisfied}until <the communication was done> endwhileIn order to implement a deadlock and livelock free routing algorithm, we must yet satisfy 1) and 4) of theorem 3.2. 4) is verified because, as the only constraint on Ls, we suppose it to be connected. In order to prove a sufficient condition to satisfy 1) of theorem 3.2, let us define the number NL(P i) of holes in P iÎP asNL(P i) = Free(B i,P i)+Free(Bin j,P i)åj=1Cin(P i)+Free(Bout j,P i)åj=1Cout(P i);the number NL of holes in PM is so given byNL =NL(P i)åP iÎP;- when a message reaches its destination (delivery phase), NL is incremented;- when a process executed in P iÎP introduces into the router a message directed to a process executed in P jÎP (injection phase), NL is decreased;- all the transmission between buffers (forwarding phase) leave NL unchanged.theorem 5.1: sufficient condition to be always NL³1 is that a process executed in P iÎP can inject a message m into a buffer BÎSBUF(P i) only if NL(P i)³2.proof: let us suppose initially NL>01; we demonstrate that, if NL>0, NL=0 cannot ever exist. The hypothesis that a message m is introduced into BÎSBUF(P i) only if NL(P i)³2 means that m can be introduced into B only if1After reset it is reasonable to suppose all the buffers being empty.NL³2, because NL(P i)³2 implies NL³2; after a message injection NL decreases of one unity. If the message injection causes NL=1, we have that$P i : NL(P i)=1andNL(P j)=0 "P jÎP, P j¹P i;thus no more messages can be injected becauseØ$P iÎP : NL(P i) ³ 2.As NL is decreased only when a new message is injected and when NL=1 new messages cannot be introduced, NL=0 cannot ever be verified.In order to satisfy also 1) of theorem 3.2, a sufficient condition is to allow the injection of new messages from P iÎP only if at least two holes are present in the buffers of P i.6 Performances evaluationWe have implemented our adaptive routing algorithm and the not adaptive one presented in [5] on a 3x3 mesh connected transputer machine (fig. 2). The algorithm presented in [5] achieves immunity from DL by transmitting messages on the horizontal direction in the first phase and on the vertical direction in the second phase.The data reported in the following are relative to the performances of the two algorithms submitted to the same traffic.The first test compares the two routing algorithms in traffic situations which are completely at random and of growing intensity; we have fixed a time T0 (two minutes) and we have computed the average number of messages which, during T0, each processor sends to the other randomly selected processors. In order to cause growing random traffic intensity, a process as the following is executed in each processor:t p:=10 (seconds)while < (t p>64 m s) > dowhile <T0 seconds are not elapsed> do<wait for t p seconds> {simulates a computing part}<send 10 messages (each of them is 16Kbyte) to 10randomly chosen processors>endwhilet p:=t p/2endwhilePrevious process behaves like a program where the communication part becomes ever more predominant than the computing part (t p is halved; the pause of t p seconds simulates the program computing phase).adaptive), figure 3 reports the average number of messages transmitted by a processor for each t p value; in abscissa the iteration number n i is reported: t p is related to n i according to the followingt p = 10 sec.2n i15105200040006000Iteration numberAverageNTxfig.3 : average number of messages transmitted by a processor for the two A and NA routing algorithms.Our algorithm performs a misrouting if, after T seconds are elapsed, no free channel is found to approach the message to its destination; when T=0, our algorithm is similar to hot potato routing. In figure 3 we report the average number of messages transmitted by a processor when our algorithm is adopted with T=200 ut (unit of time ut=64m s) or with T=0 ut.Fig. 3 underlines that, if the traffic has random behaviour, NA algorithm and A algorithm with T = 200 ut are equivalent. A algorithm with T=0 ut gives worst performances because, when the traffic load is heavy and equally distributed, many misroutings are performed and the latency of each message is enlarged.Usually in a parallel machine the traffic shows a proper regularity and it is not correctly modelled by an equiprobable random traffic. In order to characterize better A and NA features, let us consider some traffic situations.case 1) Processor 4 sends 10 messages (each of them is 16 Kbytes) to any other processor in the network (broadcast operation).case 2) Each processor sends 10 messages (16Kbytes)to all the processors.case 3) Transmission of 100 messages (16Kbytes)between two opposite processors (processor 2 sends 100messages to processor 6).case 4) Transmission of 100 messages (16Kbytes)between the opposite processors of the main diagonal and of the underdiagonal (processor 0 sends 100 messages to processor 8 and processor 5 sends 100 messages to processor 7).Figure 4 reports the normalized times spent by A and NA (T=200 ut) algorithms in the execution of thecaso 1)caso 2)caso 3)caso 4)100200300T c o m m n o r m a l i z e dfigure 4: normalized communication times spent by A and NA algorithms to execute the communications of cases 1)-4)In order to show the influence of T parameter (condition 3 of theorem 3.2) on the performances of our routing algorithm, we have considered its behaviour for many T values and for different kinds of traffic. Figure 5reports, as a function of log 10(T), the communication time necessary to exchange 1000 messages (16Kbyte)between processors 0 and 8 and between processors 2 and 6; the two plots concern to the communication network without faults (solid line) and with one communication channel fault (dotted line).Figure 5 shows that communication time is minimum when T=200 ut. When T decreases the communication time grows because messages are frequently misrouted;when T increases the communication time grows because,once a DL situation has occured, more time is requiredbefore the DL situation is removed. The figure shows also that the routing algorithm is still DL free when one link fault occurs: all the messages are correctly delivered and the DL situations are correctly removed. The only consequence of the channel fault is a diminishing of the network bandwidth.543210e+01e+62e+6log Tt c o m m (u t )figure 5: communication time vs log(T) a)with no faults and b)with C05 fault7 ConclusionsThe analysis of DL free routing algorithm presented in literature shows that adaptive routing algorithms are dependent on the network topology; DL free behaviour can be achieved only by using communication nodes with input degree equal to output degree. This is a strong limitation, because the immunity from DL cannot be ensured when a link fault occurs. We have presented an adaptive routing algorithm which does not suffer from the previous drawback and which gives communication time responses better than the ones given by the already known adaptive and not adaptive routing algorithms. This better behaviour is achieved by performing a misrouting only when this is effectively required.We have demonstrated that our routing algorithm is deadlock and livelock free.The actual execution of the algorithm on a 9 transputer parallel machine has validated the theoretical results, i.e.:- the algorithm showed better time responses with respect to adaptive or not adaptive hot potato routing algorithms;- the algorithm removed all the DLs;- even when there was a communication link fault, the algorithm correctly performed all the communications and all DLs were removed.Appendix A: proofs of theoremsIn order to demonstrate theorem 2.1 we premise definition 2.1 and we demonstrate the auxiliary theorem 2.2.B 1 and B 2 are two buffers connected through a channel from B 1 to B 2 and TX(B 1,B 2) is a transmission directed from B 1 to B 2;definition A.1: the transmission TX(B 1,B 2) directed from B 1 to B 2 is said to be locked if B 1 attempts totransmit the message to B2 without being ever successful.Since buffers contain one message, TX(B1,B2) locked means buffer B1 is full and, consequently, cannot receive new data.theorem 2.2: let us consider the two transmissions TX(B1,B2) and TX(B2,B3), being B1,B2 and B3 three buffers sequentially connected; necessary and sufficient condition because TX(B1,B2) is locked, is that TX(B2,B3) is locked.proof NC: if TX(B1,B2) is locked, B2 buffer is never available to receive data coming from B1; this happens only if B2 does never become empty, that is only if B2 does never succeed to transmit its own content toward B3; but this means that TX(B2,B3) is locked.SC: if TX(B2,B3) is locked, B2 is never free because it does never succeed to transmit its own content to B3;as a consequence B1 does never succeed to transmit its content to B2, so TX(B1,B2) is locked.proof of theorem 2.1:proof NC: deadlock presence involves that $B1 for which TX (B1,B2) is locked; in virtue of theorem 2.2 also TX (B2,B3) is locked (B2 is a buffer connected with B1 output and B3 is a buffer connected with B2 output). As a locked transmission involves the presence of another locked transmission, we can consider the infinite buffer sequenceSB = B1,B2, ....,B n,B n+1,....in which- B n is a buffer which transmits toward the buffer B n+1; - TX (B n,B n+1) is locked.By analyzing SB starting from B1, as the buffer number in PM is limited, we surely meet a buffer B k already appeared in SB in a previous position p (p³1). SB can beso written asSB = B1,B2, ....,B p-1,B p,B p+1,...,B k-1,B k=B p,B p+1,... which underlines in SB the existence of a periodic partSBP = B p,B p+1,...,B k-1.In order to show the periodic nature of SB, it is sufficient to note that TX(B p,B p+1) is locked and, when we meet TX(B k-1,B k=B p), this is again locked by TX(B k=B p,B p+1).If we remember the structure of the internal buffers of a processor, we see that SBP is a sequence of buffer terns, that is- internal buffer B i of a processor P k i (indicated with B i(P k i)),- output buffer of the channel which is the destination of the message contained in B i, that is Bout(P k i,Next(P k i,Dest(P k i))),- input buffer of the same channel, that is Bin(P k i,Next(P k i,Dest(P k i))).Without loss of generality, we substitute explicitly thebuffers in SBP by supposing that B p is the internal buffer of processor P k0; so we haveSBP = B i(P k0), Bout(P k0,P k1=Next(P k0,Dest(P k0))), Bin(P k0,P k1), B i(P k1), Bout(P k1, P k2 = Next(P k1,Dest(P k1))), Bin(P k1,P k2),..., B i(P k n-1), Bout(P k n-1,P k0 = Next(P k n-1,Dest(P k n-1))), Bin(P k n-1, P k0).Our hypothesis about DL existence brings to select aset of processors PC which satisfies 1) of the theorem; asall the transmissions among consecutive buffers in SBPare locked, all the buffers must be full, so that also 2), 3)and 4) of the theorem are verified. As the connection ofan output channel with an input channel of the same processor must be excluded, n³2 is justified because cyclic dependence cannot exist among buffers in the sameprocessor.SC: let us consider internal buffer B i(P k i) of any P k iÎPC; for 1) the transmission of the message in B i(P k i) is directed to processor P k i+1= Next(P k i,Dest(P k i)) and, for 4), this transmission cannot be executed because the Bout(P k i,P k i+1) is full. Similarly the transmission from Bout(P k i,P k i+1) to Bin(P k i,P k i+1) cannot be executed for 2) and the transmission from Bin(P k i,P k i+1) to B i(P k i+1) cannot be executed for 3). As the previous reasonment subsists "P k iÎPC and, on the basis of 1), it does not exist a P k i such as Next(P k i,Dest(P k i))ÏPC, each B i(P k i) is full and is connected with another full B i(P k j) through two full buffers; because any transmission is impossible in this situation, DL subsists.proof of theorem 3.1:we demonstrate the theorem by considering the worstcase, i.e.a) only one hole is present,b) in its movement the hole does not generate new holes.Under these hypothesis the hole movement in the networkis a stationary Markoff process of order 1; infact, being L j the event for which the hole is in P j, we havePr(L j|L i,L k,..,L m; t k|t k-1,t k-2,..,t k-n)=Pr(L j|L i; t k|t k-1) 2 because the hole position at a certain instant depends only on the hole position at the previous instant (time is discreet and is incremented at each transmission). Afterwards we shall not explicitly show the time2 Pr(E2|E1; t2|t1) is the probability that, at the instant t2, the event E2 takes place having supposed the event E1 verified at the instant t1.。