text:
|Publication number
|Publication type
|Application number
|Publication date
|Jan 10, 2012
|Filing date
|Oct 30, 2007
|Priority date
|May 14, 2007
|Fee status
|Also published as
|Publication number
|Thomas J Heller, Jr., Richard L Baum
|Original Assignee
|International Business Machines Corporation
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (81), Non-Patent Citations (52), Referenced by (23), Classifications (13), Legal Events (2)
|External Links: USPTO, USPTO Assignment, Espacenet
This application is a continuation in part and contains subject matter which is related to the subject matter of the following co-pending application, which is assigned to the same assignee as this application, International Business Machines Corporation of Armonk, N.Y. The below listed application is hereby incorporated herein by reference in its entirety:
U.S. Ser. No. 11/748,044 filed May 14, 2007, entitled "COMPUTING SYSTEM WITH OPTIMIZED SUPPORT FOR TRANSACTIONAL MEMORY" by Thomas Heller et al.
IBM� is a registered trademark of International Business Machines Corporation, Armonk, N.Y., U.S.A. Other names used herein may be registered trademarks, trademarks or product names of International Business Machines Corporation or other companies.
1. Field of the Invention
This invention relates to computer systems, and particularly to a computing system with support for chained transactions with transactional memory.
2. Description of Background
Current multiprocessor and multithreaded computing systems allow the performance of a single software application to be scaled to many times the possible performance of a single threaded application. Current software and hardware systems provide for the parallel processing of multiple threads of execution. Software applications can use existing thread libraries, such as the POSIX pthread library, to control the creation of multiple threads of parallel execution. The use of multiple threads works well for applications that operate on easily partitioned tasks and data. Course grain locks can be used to control access to the few shared data structures to prevent rare conflicts between the data updates of multiple threads. However, how a system can support a single large transaction that requires operations on multiple threads of execution has not found a satisfactory solution.
Many software applications contain data structures that must be shared among multiple threads and have frequent concurrent inspections and updates of the shared data structures. These applications require additional modifications in order to obtain good scaling when using large numbers of threads. Applications which use multiple threads of execution that access shared data structures currently require the use of specialized data locking routines in order to produce a reliable outcome that is free from deadlocks and corrupted data. The majority of existing multithreaded applications in this category use fine grained software locks to achieve good performance and correct operation. Writing high performance multithreaded programs which use fine grained software locks is extremely difficult and requires expert programming skills. The lack of these skills in the software industry severely limits the production of multithreaded applications which require the use of shared data structures and therefore the usefulness of multithreaded and multiprocessor computing systems for certain application classes, including many forms of transaction processing.
Various "Transactional Memory" systems have been proposed and built to provide a simpler programming model for constructing multithreaded applications that need to control access to shared data structures. These systems allow software running on one thread of execution to optimistically assume that shared data structures can be updated without conflict with the accesses and updates of other threads of execution. The speculative updates to memory are kept "pending" until the transactional memory system confirms that no conflicts with storage accesses of other threads have occurred. The transactional memory system must be able to discard the pending speculative updates when conflicts between the storage accesses of multiple threads are detected. The existing transactional memory systems range from those that rely completely on new software constructs to those that rely on a mixture of hardware and software to obtain reasonable performance. Some existing systems have very high overhead in terms of the number of instructions executed in support of the required transactional memory behavior. Other existing systems have limitations associated with complex data cache structures that hold the "pending" updates to memory in caches. The cache based systems use many additional cache coherency states which causes a large increase in the design and simulation efforts for those systems.
Recently transactional memory systems have been proposed as illustrated by Microsoft's United States Patent Application Publication No. US2007/0028056 which use software "enlistment records" associated with memory locations that have been accessed by transactions. The Microsoft system also uses a "version value" in the "enlistment record". FIG. 3 of Pub. No. 2007/0028056 includes an operation "Locate enlistment record of memory location". The text describing
Earlier, and now long ago, as pointed out in the development of fast paced computing systems developments summarized by David A. Wood, University of Wisconsin, Transactional Memory Workshop, Apr. 8, 2005, it was Chang and Mergen of IBM (described in 801 Storage: Architecture and Programming) who proposed using a lock bit associated with each segment of virtual memory. Their system provided an ability to detect concurrent accesses of storage locations by multiple threads but restricted the total number of concurrent threads that could operate on any single virtual memory segment when the transaction locking mechanism becomes active. Large virtual memory page tables which are required by Chang and Mergen to execute concurrent threads imposes a performance penalty on all threads of execution that use virtual memory, not just those that execute "transactions, so the Chang and Mergen suggestions became an anecdote in the prior art, as Woods said "No one seems to be looking at what they learned". The current invention uses a "Transaction Table" that is distinct from the virtual memory page tables of the system.
Unknown to Woods, in the Chang and Mergen IBM Yorktown facility there have been ongoing laboratory developments relating to transactional memory systems, culminating with the most recent transactional memory system described by Xiaowei Shen U.S. patent application Ser. No. 11/156,913, filed Jun. 20, 2005, and entitled "Architecture Support of Best-Effort Atomic Transactions for Multiprocessor Systems".
Shen describes a transactional memory system which focuses on using "caches as buffers for data accessed by atomic transactions". Xiaowei Shen forces the failure of a transaction when the system detects a "buffer overflow" and does not propose dealing with the case of speculative data being evicted from the cache. A buffer overflow will result if too many transactional loads or stores target the same cache congruence class. The percentage of transactions which overflow the cache and fail will be proportional to the number of loads and stores contained in a transaction. Long transactions will fail more often.
Other systems have been proposed which use a cache to implement a conflict detection scheme, and to capture speculative data which overflows the cache. We have found it desirable not to rely primarily on data cache states for conflict detection. The required specialized cache states cause an undesired increase in complexity and also makes it difficult to add the required detection and isolation mechanisms to existing multiprocessor cache coherency designs. Nevertheless there are numerous attempts to exploit the cache which have been tried, besides the Xaiowei Shen development, including, Moore et al who describe the use of a "before-image log" in their paper "LogTM: Log-based Transactional Memory". Moore uses cache coherency states to implement a conflict detection scheme. Another such system, Ananian et al describe a transactional memory system which uses a single "unsorted linear array data structure" to capture speculative data which overflows data caches. They use an extra bit per cache set, the "O" bit to indicate if that set has "overflowed", and another bit per cache entry, the "T" bit to indicate that the entry holds speculative data. The linear array data structure does provide the ability to support longer transactions but it does not provide the fast detection capability of the current invention. The linear array in Ananian needs to be searched for any cache access that targets the set that "overflowed". This can be a long process for transactions which cause many overflows. Rajwar, Herlihy and Lai take a similar approach as Ananian in their paper "Virtualizing Transactional Memory". Rajwar also uses a data cache as the primary mechanism to track the speculative state associated with transactions. Speculative data which is forced out of the caches is moved to the XADT overflow area in virtual memory. The detection of a possible conflict with an address that is part of the XADT requires a slow linear search of the XADT. Rajwar describes the use of filters to eliminate some of these searches but there are many cases where the searches will still need to be done.
In addition to the above summarized developments in the field, many software interfaces and instruction set modifications have been proposed for the support of transactional memory. The paper "Architectural Semantics for Practical Transactional Memory" (McDonald et al, Computer Systems Laboratory, Stanford University, 2006—this paper listed in our IDS is submitted herewith and is incorporated herein by reference) compares some of the proposals and provides references for many others and is incorporated herein by reference.
The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a computing system which processes memory transactions for parallel processing of multiple threads of execution provides execution of multiple atomic instruction groups (AIGs) on multiple systems to support a single large transaction that requires operations on multiple threads of execution and/or on multiple systems connected by a network. A combination of a "private to transaction" (PTRAN) tag, attached to each increment of real system memory, and a log of speculative loads and stores to provide an improved implementation of a transactional memory system. The current invention uses a log with the added mark bit employed as a "private to transaction" (PTRAN) tag and associated with every increment of real system memory. Hardware is provided to quickly detect conflicts between the storage accesses of transactions running on multiple threads of execution. The use of the tag in memory and associated conflict detection hardware included in this invention provides a much faster transactional memory system with much less overhead when compared to existing systems. The complexity of the current invention is lower than prior attempts at using additional cache coherency states for conflict detection, especially for systems with large numbers of processors and associated interconnections.
The current invention uses the main memory array of the computing system to hold the speculative data and can support very long transactions. The current invention can benefit from the use of data caches but it does not require their use. The current invention provides the ability to check the address of a new memory access without a long search process for common cases. Likewise, it is an improvement over software only transactional memory systems since the conflict detection and use of the tag in memory eliminates some of the software overhead associated with tracking the speculative state of transactions. It also provides the ability to detect storage conflicts at a very fine level (down to a single byte) as opposed to prior art software systems that track updates to entire software objects which may be hundreds or thousands of bytes. Existing software systems will either give frequent over-indication of potential data conflicts or incur very large software path length penalties when attempting to track the updates to individual components of software objects.
Many software interfaces and instruction set modifications have been proposed for the support of transactional memory. The current invention can be used in combination with any of them in order to provide high performance transactional memory operations without incurring a large increase in hardware or software complexity. The preferred embodiment is described for the PowerPC architecture but anyone skilled in the art could apply the same approach to any other architecture such as IBM's zSeries, IBM's pSeries with the P3, P4, P5 processors, and even IBM's System 38 and its AS/400 which have a memory work of 65 bits could utilize the support of this invention, as well as other computer systems, such as Sun Microsystems' SPARC, Intel's IA32 etc. Anyone skilled in the art could extend the current invention for use with other Application Programming Interfaces (APIs) that may be created for other specialized versions of transactional memory implementations.
The current invention uses a hardware bit or bits associated with all memory locations, not just those that are currently part of an active transaction. The current invention uses the added hardware bit or bits to provide much faster execution of transactions than that which can be obtained using Microsoft's Pub. No. 2007/0028056. The current invention uses an improved transaction table as a log to optimize the memory usage and provides a system which uses less memory than would be used by other systems like the Microsoft proposal, yet the invention can execute applications developed for the Microsoft proposal. The current invention provides one or more PTRAN bits for every storage increment. There is no need in the current invention for an indirect method of "locating" the PTRAN bit. The current invention will provide a much faster indication of potential conflict since the PTRAN bit is a directly addressable part of the memory location to be marked. The current invention does not need a Microsoft style interface, and achieves its benefit using hardware and firmware to update and reset the PTRAN bit. The current invention does not require application software to be aware of the state of the PTRAN bit or bits although one may provide a direct interface if desired. The current invention is also optimized for a short commit processing time. The current invention does not require the use of a version number for each storage location.
The current invention uses a hardware bit or bits associated with all memory locations, not just those that are currently part of an active transaction. The current invention uses the added hardware bit or bits to provide much faster execution of transactions than that which can be obtained using Microsoft's Pub. No. 2007/0028056. The current invention uses an improved transaction log method to optimize the memory usage and provides a system which uses less memory than would be used by other systems like the Microsoft proposal. The current invention provides one or more PTRAN bits for every storage increment. There is no need in the current invention for an indirect method of "locating" the PTRAN bit. The current invention will provide a much faster indication of potential conflict since the PTRAN bit is a directly addressable part of the memory location to be marked. The current invention does not need a Microsoft style interface, and achieves its benefit using hardware and firmware to update and reset the PTRAN bit. The current invention does not require software to be aware of the state of the PTRAN bit or bits although one may provide a direct interface if desired. The current invention is also optimized for a short commit processing time. The current invention does not require the use of a version number for each storage location.
We noted above the Chang and Mergen suggestions which became an anecdote in the prior art, as Woods said "No one seems to be looking at what they learned". An advantage of the current invention is that it uses a "Transaction Table" that is distinct from the virtual memory page tables of the system. This enables the current invention to process very large transactions and to provide conflict detection down to a single byte. The current invention has no limit on the number of concurrent threads that can simultaneously access memory locations in the same virtual memory segment. The current invention performs conflict detection on physical memory addresses (or real addresses) and only restricts simultaneous access at the granularity of this conflict detection. This granularity can differ for various implementations of the current invention but will usually be on the order of bytes. If the Chang and Mergen system tries to use large numbers of concurrent threads, that system could not provide similar benefits without using extremely large virtual page table formats and consequently incurring a performance penalty. The current invention does not impose this performance penalty.
System and computer program products for implementing transactions using the above-summarized methods are also described and claimed herein. Generally computer program products are delivered as computer program media which are tangible embodiments of the program delivering the instructions via a CD Rom, a computer disc drive, a connection to another system or other tangible embodiment of a signal for delivering a program signal to the computing system which supplies the support of this system, all collectively known as computer program media. The computer program media may be provided as an independent software medium installed in the computing system memory or installed as firmware embodied in the computing system memory itself during operation.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with advantages and features, refer to the description and to the drawings.
As a result of the summarized invention, technically we have achieved a solution which provides a much faster transactional memory system with much less overhead when compared to existing systems. The current invention is also an improvement over existing hardware based transactional memory systems that rely on changes to cache coherence protocols. It allows the hardware system to deal with transactions which are long enough to overflow average size caches and doesn't involve the virtual memory management overhead of prior art schemes. The current invention has a much lower level of hardware complexity and is easier to implement and verify via simulation. It also allows for the ability to detect conflicts at a finer granularity than the cache line granularity of prior art systems that are tightly coupled with data caches. The current invention also allows for the fast execution of nested transactions.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The detailed description explains the preferred embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
Turning now to the drawings in greater detail, it will be seen that in
The physical memory of the computing system is divided into n increments. One or more "private to transaction" bits (PTRAN) associated with every increment of real system memory are provided for each of the n increments. The invention allows for the choice of any memory increment size and the best choice will depend on workload characteristics, hardware costs and data caching structure used in the target system. An increment of 16 bytes is used in the illustrated embodiment. The PTRAN bit(s) are used to indicate whether (or not) a data entry in memory is part of the speculative memory state of an uncommitted transaction that is currently active in the system.
Special new instructions (BEGIN_AIG, END_AIG) as illustrated by the Nested AIG code sequence of
The PTRAN tag is one or more bits associated with an increment in memory which is set for all memory accesses generated by instructions that are part of an Atomic Instruction Group. A processor inspects the bit before attempting to set it; this enables the quick detection of potential conflicts with other AIGs that are concurrently executing on other threads. The setting of the bit may be accomplished by a TS "test and set" operation of the IBM z/Architecture (as described by the IBM z/Architecture Principles of Operation) or any other equivalent operation that enables an atomic update in a multithreaded or multiprocessor system.
Turning now to
Turning again to
The invention can be made to work with the new values held in the Transaction Table if desired. The preferred embodiment places the "old" data value in the transaction table. This allows the system to be optimized for the case where most transactions are successful. The old data can be discarded quickly when it is no longer needed, when a transaction is committed permanently to memory, by changing the pointer to the transaction table or by clearing the contents of the transaction table. The Tran Info field of a Transaction Table entry (241) includes any transaction information that is needed to make detailed decisions about the need to cause a transaction failure. It also has provisions for additional information to allow efficient support of nested transactions, virtualized transactions or other extensions of the transactional memory architecture. In the preferred embodiment, the Tran Info field includes an indication of whether the storage access of the associated address (240) was a load type access or a store type access. The Tran Info field (240) can also indicate whether the address is shared among multiple AIGs in the system.
An "override" of this "AIG active mode" may be provided. The override could be associated with the logical memory segment or logical memory page which contains the target address. An override forces the system to treat the storage request as normal in spite of the fact that the request is part of an AIG. If the override is active then the result of the decision (310) will cause normal processing (320) to take place. Assuming that an AIG is active and the override is not, then the associated PTRAN bit is inspected at an inspection step (330). A load instruction inside of an AIG detects upon inspection the state of the PTRAN bit. When the PTRAN bit is already set (330) it is due possibly to the actions of another thread executing on the same processor or on another processor. If at the inspection step 330 it is found that the PTRAN bit is not set (340) then the processor sets the PTRAN bit and make a record of the access in the Transaction Table (230) for the active AIG by adding to the Transaction Table at the Set PTRAN step (340) and then the complete load can continue (360). If the PTRAN bit is already set, the address which caused this potential conflict is compared with the addresses already entered in the processor's Transaction Table. If the PTRAN bit was set when tested at the inspection step (330) by another load earlier in the same AIG, it is already part of the AIG as tested and determined (350) and then the complete load may continue (360). Each Transaction Table (230, 231) contains the addresses for a particular AIG. Accordingly, if the address was not already part of the AIG as tested and determined (350) then the address for the load is not found in the processor's Transaction Table and then the processor checks whether the address is enabled for sharing among AIGs in a determination step for AIG sharing (370). If the address is not currently enabled for sharing among multiple AIGs the processor may signal other processors in the system to request a "shared AIG access" for this address during the determination step whether sharing is allowed among AIGs (370). A shared access can be granted if no other AIG in the system has speculatively written the storage location. If the shared access is not granted then the AIG fails (380), otherwise (390) the load address is added to the Transaction Table (230) and the Tran Info field (241) is updated to indicate that the address is a load access that is shared among multiple AIGs in the system.
Turning now to the Commit Processing Flowchart of
A specialized hardware engine may be used to complete the performance of this commit operation. A combination of processor caches, multiprocessor coherency actions and the current invention can be used to provide software with the illusion that all of the memory updates for a single AIG occur simultaneously even though the main memory storage arrays are not updated simultaneously. During the commit processing, the resetting of the PTRAN bits continues until the last valid entry in the Transaction Table has been determined to be reached (530). At this point the AIG is considered to be committed and the performance by the engine therefore completes (540).
Some conditions prevent the completion of an AIG. These conditions may be detected during load processing while executing an AIG (380) or during store processing while executing an AIG (430). There are many other possible processor conditions that may cause the need to abort the processing of an AIG. These include error conditions detected in the system as well as other conditions that would require significant additional hardware support to enable the processor to handle them correctly. Many prior-art transactional memory architectures include provisions for the abort of transactions and for a subsequent retry. Prior-art software constructs can be used together with the current invention to eliminate the need to provide hardware to deal with all possible special cases. A simple example is the case of a timer interrupt in the middle of processing an AIG. The interrupt may cause the processor to spend a large amount of time running code that is not part of the partially completed AIG. It may not be desirable for the processor to keep the AIG active during this time. The system can force a transaction failure for any AIG that is currently executing when a timer interrupt occurs. A similar approach can be used for any other special case events occurring in the processor.
Transaction failures or forced retries are handled according to the process of the Rollback Processing Flowchart for "rollback" processing shown in
Upon finding a transaction failure condition (600) failure several additional steps are required (610,620). Rollback Transaction Table processing entry steps provide that the Transaction Table (230) for the AIG is inspected and any "old" data (242) is written back to the main memory address (240) indicated in the entry. The PTRAN bit for the associated address is reset. The rollback processing (620) continues until the last valid entry in the table has been processed (630). After the last valid entry has been processed, the rollback is complete (640). The actions taken by the processor at this point will differ based upon various software architectures for transactional memory. Any of transactional memory architectures described in the background may be used. In some cases the AIG will be retried from the beginning. In other cases special software handlers will be invoked to deal with the transaction failure. The current invention may be used with any of these different architectures, and chained AIGs may be executed in processors having different architectures, as those processors can provide the PTRAN bit support and Atomic Instruction Group execution, natively or by emulation.
The current invention supports the execution of "nested" transactions. A second AIG may be included within the scope of the first AIG as shown in
Prior-art transactional memory systems that rely on data caches to hold speculative state are unable to provide similar support for nested transactions without adding additional state information to cache directories and adding additional complexity to the cache coherency protocol. Nesting support on prior-art systems would impose a large hardware complexity penalty on those designs. The current invention can also be extended to include a combined Transaction Table that includes entries from both the inner AIG (Instruction B0, Instruction B1) and the outer AIG (Instruction A0, Instruction A1, Instruction A2). This Combined Transaction Table may be used in place of the individual Transaction Tables or in addition to the individual Transaction Tables.
The execution of multiple AIGs on multiple systems is now possible using the multiple Transactions Tables (230). Multiple AIGs on multiple systems support a single large transaction that requires operations on multiple threads of executions and/or multiple systems connected to a network. A large transaction which requires the services of another thread of execution may find it on the same computing system or in another computing system. IBM's system z9 for instance has multiple processors internally connected by a Sysplex network and provides virtual processor support by its operating system (z/OS PR/SM or z/VM (Hypervisor 1)) and the System z9 couples to information handling apparatus beyond the operating system as to (zVM Hypervisor 2 Guests or another processor, such as a Linux processor. This operating system can be used to make the necessary connection called for by instructions of an AIG having calls to a specialized "service" API.
In accordance with the invention, a message is sent to the other system from within an AIG operating under control of the primary operating system (Hypervisor 1). The message includes an indication that the request is part of a "speculative" which has not been committed to memory. The receiving thread of execution begins an AIG on its own thread and establishes a "chain" of AIGs which may be rolled back in case of a transaction table. The multiple Transaction tables 230 are used to track the read and write sets individually and to roll them back when needed.
In implementing this invention an AIG includes a function call to a specialized "service" API. Thus, the AIG provides:
Load x
store y
speculative_service_a(arg1, arg2, arg3)
Load z
Store z
The "service" API includes code which generates a network request or any other messaging request which is received by a "service provider" that has been changed to make use of an AIG for speculative execution.
The "speculative service provider" receives the request and begins an AIG of its own. The AIG includes code to execute the "service". The service provider responds to the original speculative service API when the service is completed and ready to commit. The "chained" AIG is not committed until the original AIG is also ready to commit.
The commit code for the original AIG is modified to support the "chain" of AIGs that has been established by the specialized API. The chain is known to span multiple threads of execution of multiple systems and all participants in the chain will be notified when an AIG should be "committed."
There are many additional hardware features that can be added to the invention to speed the processing of the Transaction Table manipulations and the setting and resetting of the PTRAN bit(s). Since the PTRAN bit is part of the main storage data, it can be cached in the normal data caches of the system. The Transaction Tables are also part of main storage and can also be cached. Additional control information can be added to the data caches to indicate whether a specific address has been enabled for "shared AIG access" and therefore eliminate the need to search the Transaction Table for some cases.
The capabilities of the present invention as described above can be implemented in software, firmware, hardware along with some combination of software, and firmware.
As one example, one or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present invention. The computing system described herein is able to detect the signal and recover a computer program embodied therein. It makes no difference whether the computer program is embodied in a physical media such as a hard drive or computer memory or on a CD or within a data signal. The underlying program is usable by the computing system to execute the steps described for a computer readable memory to execute the encoded functions regardless of the format of origin of the encoded program or whether the format is a disk or a signal.
The article of manufacture can be included as a part of a computer system or sold separately.
Additionally, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided.
The preferred embodiment identifies the beginning of an AIG after decoding of an instruction (800). If it is determined that a BEGIN_AIG instruction has been decoded (805) the processor enters a new mode of execution, AIG MODE (815), otherwise the instruction is executed as usual (810) and processing continues with the next instruction (800).
Prior to entering AIG MODE, the architected state of the processor is saved in the same manner that a traditional Program Call is handled in the IBM Z-Series architecture. Any similar state saving mechanism may be used on any other processor architecture. The processor may return directly to this saved state if the AIG fails or may return to this state after a series of other error handling routines have been invoked. While in AIG MODE, decoding of instructions continues (820). If a load or store is decoded (825) then special handling of these loads and stores is required (840). The steps required for the processing of a load inside of an AIG are described in
The decoding of instruction other than loads and stores inside of an AIG does not necessarily require special processing (830). If the instruction is not a load or store type instruction then it is determined whether the instruction is another BEGIN_AIG (830). Nested AIG instructions require special handling (835). The prior art contains many different ways of handling nested transactions. The current invention can be used to support any of them. The nested AIG handler for the preferred embodiment adds the instructions of the "inner" AIG to the "outer" AIG creating a single larger AIG. Other embodiments of the invention may provide different rules of processing for loads and stores that are part an inner nested transaction as well as special rules for the commitment and failure handling of inner nested transactions. If it is determined that the instruction is not a BEGIN_AIG then the instruction is executed (845) and it is next determined (855) whether the instruction is the last instruction of the AIG. The preferred embodiment uses the decoding of an END_AIG instruction to indicate that the last instruction of an AIG has been reached. If the last instruction of the AIG has been reached then the AIG is committed to memory and the processor exits the AIG MODE of operation (865).
The flow diagrams depicted herein are just examples. There may be many variations to these diagrams or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
While the preferred embodiment to the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.
|Cited Patent
|Filing date
|Publication date
|Sep 30, 1970
|Aug 22, 1972
|Burroughs Corp
|Multiprogram digital processing system with interprogram communication
|Mar 12, 1992
|Jun 27, 1995
|Digital Equipment Corporation
|System for achieving atomic non-sequential multi-word operations in shared memory
|Sep 14, 1993
|Sep 3, 1996
|Hitachi, Ltd.
|Virtual machine control method and virtual machine system
|Oct 13, 1995
|Dec 23, 1997
|Sun Microsystems, Inc.
|Multi-threaded processing system having a cache that is commonly accessible to each thread
|Nov 20, 1995
|Apr 21, 1998
|International Business Machines Corporation
|Posting multiple reservations with a conditional store atomic operations in a multiprocessing environment
|May 30, 1997
|Aug 31, 1999
|Oracle Corporation
|System for locking data in a shared cache
|Feb 26, 1997
|Oct 5, 1999
|Helmering; Paul F.
|System for graphically mapping related elements of a plurality of transactions
|Dec 31, 1996
|Oct 26, 1999
|Compaq Computer Corporation
|Scoreboard for cached multi-thread processes
|Jan 9, 1997
|Mar 7, 2000
|Microsoft Corporation
|Transaction processing for user data employing both logging and shadow copying
|Feb 27, 1996
|Apr 18, 2000
|Ntt Data Communications Systems Corporation
|Accurate completion of transaction in cooperative type distributed system and recovery procedure for same
|Dec 29, 1998
|Jun 20, 2000
|Microsoft Corporation
|Recovering from a failure using a transaction table in connection with shadow copy transaction processing
|Dec 31, 1998
|Mar 19, 2002
|Microsoft Corporation
|Lock-free methods and systems for accessing and storing information in an indexed computer data structure having modifiable entries
|Feb 26, 1999
|Mar 19, 2002
|Hewlett-Packard Company
|Transactional memory for distributed shared memory multi-processor computer systems
|Dec 7, 2000
|Apr 30, 2002
|Hewlett-Packard Company
|Cache management for a multi-threaded processor
|Nov 28, 2000
|Jan 21, 2003
|Sun Microsystems, Inc.
|Method and apparatus for memory allocation in a multi-threaded virtual machine
|Apr 30, 2000
|Aug 26, 2003
|Hewlett-Packard Development Company, L.P.
|Self-organizing hardware processing entities that cooperate to execute requests
|Feb 24, 2000
|Nov 18, 2003
|International Business Machines Corporation
|Method and apparatus for managing access contention to a linear list without the use of locks
|Feb 1, 2002
|May 18, 2004
|Cradle Technologies, Inc.
|Digital system with split transaction memory access
|Jul 11, 2000
|Jun 8, 2004
|Intel Corporation
|Efficient system bus architecture for memory and register transfers
|Apr 18, 2001
|Nov 30, 2004
|Sun Microsystems, Inc.
|Lock-free implementation of concurrent shared object with dynamic node allocation and distinguishing pointer value
|May 16, 2003
|Mar 1, 2005
|Sun Microsystems, Inc.
|Method and apparatus for avoiding locks by speculatively executing critical sections
|Feb 26, 1999
|Mar 29, 2005
|Hewlett-Packard Development Company, L.P.
|Cache-flushing engine for distributed shared memory multi-processor computer systems
|Oct 12, 2001
|Apr 12, 2005
|Hewlett-Packard Development Company, L.P.
|Multi-processor computer system with transactional memory
|Apr 9, 2001
|Apr 12, 2005
|Sun Microsystems, Inc.
|Selective signalling of later reserve location memory fault in compound compare and swap
|Dec 15, 2003
|Aug 30, 2005
|Sun Microsystems Inc.
|Method and apparatus for delaying interfering accesses from other threads during transactional program execution
|Oct 6, 2002
|Dec 27, 2005
|Stephen Waller Melvin
|Hardware enforced virtual sequentiality
|Apr 11, 2000
|Feb 14, 2006
|Sun Microsystems, Inc.
|Maintaining a double-ended queue as a linked-list with sentinel nodes and delete flags with concurrent non-blocking insert and remove operations using a double compare-and-swap primitive
|Apr 18, 2001
|Mar 21, 2006
|Sun Microsystems, Inc.
|Concurrent shared object implemented using a linked-list with amortized node allocation
|Sep 18, 2002
|May 2, 2006
|Intel Corporation
|Method and apparatus for processing an event occurrence for a least one thread within a multithreaded processor
|Jan 23, 2004
|Aug 8, 2006
|Sun Microsystems, Inc.
|Selectively unmarking load-marked cache lines during transactional program execution
|Dec 26, 2005
|Sep 12, 2006
|Stephen Waller Melvin
|Packet processor memory interface
|Nov 10, 2000
|Oct 3, 2006
|Sun Microsystems, Inc.
|Linked-list implementation of a data structure with concurrent non-blocking insert and remove operations
|Mar 12, 2003
|Feb 13, 2007
|Sun Microsystems, Inc.
|Methods and apparatus for executing code while avoiding interference
|Jan 23, 2007
|Mar 30, 2010
|Sun Microsystems, Inc.
|System and method for executing transactions
|Dec 30, 2005
|Jun 1, 2010
|Intel Corporation
|Software assisted nested hardware transactions
|Sep 14, 2005
|Jan 4, 2011
|Azul Systems, Inc.
|Concurrent atomic execution
|Oct 12, 2001
|Jun 13, 2002
|Fong Pong
|Transactional memory for distributed shared memory multi-processor computer systems
|Dec 14, 2000
|Jun 20, 2002
|International Business Machines Corporation
|Symmetric multi-processing system
|Jan 9, 2002
|Aug 1, 2002
|Newframe Corporation Ltd.
|Sharing live data with a non cooperative DBMS
|Mar 30, 2001
|Oct 3, 2002
|Smith Gary Stephen
|Method of mixed workload high performance scheduling
|Jan 23, 2002
|Oct 31, 2002
|International Business Machines Corporation
|Mechanism for executing nested transactions in an execution environment supporting flat transactions only
|Jun 7, 2001
|Dec 26, 2002
|Joseph Anish Pulikottil
|Method of memory management in a multi-threaded environment and program storage device
|Sep 28, 2001
|Apr 3, 2003
|Petersen Paul M.
|Method and apparatus for accessing thread-privatized global storage objects
|Oct 19, 2001
|Apr 24, 2003
|Ravi Rajwar
|Concurrent execution of critical sections by eliding ownership of locks
|Nov 1, 2002
|May 1, 2003
|Verisign, Inc.
|Transactional memory manager
|Oct 22, 2002
|Oct 30, 2003
|Tomoyuki Ueno
|Multiprocessor apparatus
|Jul 16, 2003
|Jan 22, 2004
|Sun Microsystems, Inc.
|Software transactional memory for dynamically sizable shared data structures
|Jul 16, 2003
|Feb 19, 2004
|Sun Microsystems, Inc.
|Obstruction-free mechanism for atomic update of multiple non-contiguous locations in shared memory
|May 16, 2003
|Aug 19, 2004
|Marc Tremblay
|Method and apparatus for avoiding locks by speculatively executing critical sections
|Aug 8, 2003
|Sep 23, 2004
|Marc Tremblay
|Selectively monitoring stores to support transactional program execution
|Aug 8, 2003
|Sep 23, 2004
|Marc Tremblay
|Selectively monitoring loads to support transactional program execution
|Feb 24, 2004
|Sep 23, 2004
|Albert Gondi
|Systems and methods for transaction chaining
|Jun 30, 2003
|Dec 30, 2004
|Zwilling Michael J
|Transaction consistent copy-on-write database
|Sep 12, 2003
|Mar 17, 2005
|Mckenney Paul E.
|Utilizing hardware transactional approach to execute code after initially utilizing software locking by employing pseudo-transactions
|Oct 4, 2003
|Apr 21, 2005
|Mckenney Paul E.
|Utilizing software locking approach to execute code upon failure of hardware transactional approach
|Mar 31, 2004
|May 5, 2005
|International Business Machines Corporation
|Memory allocation
|Jun 17, 2004
|Jun 16, 2005
|Udo Laub
|Data processing system and method
|Dec 18, 2003
|Jun 23, 2005
|Downer Wayne A.
|Secondary path for coherency controller to interconnection network(s)
|Mar 9, 2004
|Sep 29, 2005
|Smith Zachary S
|Suppressing production of bus transactions by a virtual-bus interface
|Sep 30, 2004
|Apr 20, 2006
|Ravi Rajwar
|Transactional memory execution utilizing virtual memory
|Sep 30, 2004
|Apr 20, 2006
|Sanjeev Kumar
|Hybrid hardware and software implementation of transactional memory access
|Apr 15, 2005
|Aug 3, 2006
|Sun Microsystems, Inc.
|Obstruction-free data structures and mechanisms with separable and/or substitutable contention management mechanisms
|Apr 6, 2006
|Sep 7, 2006
|Marc Tremblay
|Selectively unmarking load-marked cache lines during transactional program execution
|Mar 22, 2005
|Sep 14, 2006
|Mips Technologies, Inc.
|Instruction dispatch scheduler employing round-robin apparatus supporting multiple thread priorities for use in multithreading microprocessor
|Mar 18, 2005
|Sep 21, 2006
|Microsoft Corporation
|System and method for updating objects in a multi-threaded computing environment
|Jun 10, 2005
|Dec 14, 2006
|International Business Machines Corporation
|System and method using atomic sets of memory locations
|Jun 20, 2005
|Dec 21, 2006
|Xiaowei Shen
|Architecture support of best-effort atomic transactions for multiprocessor systems
|Jun 23, 2005
|Dec 28, 2006
|Jacobson Quinn A
|Primitives to enhance thread-level speculation
|Jul 29, 2005
|Feb 1, 2007
|Microsoft Corporation
|Direct-update software transactional memory
|Feb 7, 2006
|Aug 9, 2007
|Bratin Saha
|Hardware acceleration for a software transactional memory system
|Mar 30, 2006
|Oct 11, 2007
|Ravi Rajwar
|Transactional memory virtualization
|May 30, 2006
|Dec 6, 2007
|Sun Microsystems, Inc.
|Fine-locked transactional memory
|Jun 21, 2006
|Dec 27, 2007
|Leonidas Kontothanassis
|Adapting software programs to operate in software transactional memory environments
|Jun 28, 2006
|Jan 24, 2008
|Ben Hertzberg
|Object based conflict detection in a software transactional memory
|Sep 7, 2006
|Mar 13, 2008
|Haitham Akkary
|Post-retire scheme for tracking tentative accesses during transactional execution
|Dec 20, 2007
|Apr 24, 2008
|Moir Mark S
|Software Transactional Memory for Dynamically Sizable Shared Data Structures
|May 14, 2007
|Nov 20, 2008
|International Business Machines Corporation
|Computing System with Optimized Support for Transactional Memory
|Oct 30, 2007
|Nov 20, 2008
|International Business Machines Corporation
|Transactional Memory System Which Employs Thread Assists Using Address History Tables
|Sep 20, 2005
|Apr 5, 2006
|Intel Corporation (a Delaware Corporation)
|Transactional memory execution utilizing virtual memory
|Title not available
|Nov 27, 2006
|Jun 14, 2007
|Microsoft Corporation
|Optimization of software transactional memory operations
|Ananian et al. "Unbounded Transaclional Memory", Research Abstracts 2006, CSAIL Publications and Digital Archive, pp. 1-4.
|Ananian et al; Unbounded Transactional Memory; 11th International Symposium on High-Performance Computer Architecture; IEEE; Mar. 7, 2005; Cited in U.S. Appl. No. 11/928,661.
|Banatre et al. "Cache Management in a Tightly Coupled Fault Tolerant Multiprocessor", 1990 IEEE. pp. 1-8.
|Chung et al. "Tradeoffs in Transactional Memory Virtualization", ASPLOS '06 Oct. 21-25. 2006, pp. 1-12.
|Definition of Set Associative Cache; FOLDOC-Cited by Examiner in U.S. Appl. No. 11/928,594 (Oct. 18, 2004).
|Definition of Set Associative Cache; FOLDOC—Cited by Examiner in U.S. Appl. No. 11/928,594 (Oct. 18, 2004).
|Definition of Virtual Memory-FOLDOC-Nov. 26, 2002.
|Definition of Virtual Memory—FOLDOC—Nov. 26, 2002.
|Harris et al., "Language Support for Lightweight Transactions", ACM SIGPLAN Notices, vol. 38, No. 11, ACM; Nov. 2003.
|Hennessy et al.; Computer Architecture: A Quantitative Approach (Third Edition); p. 429 Published 2003; 3rd Edition 2003.
|Hennessy et al.; Computer Architecture: A Quantitative Approach (Third Edition); p. 530; Published 2003.
|Herlihy et al. "Transactional Memory: Architectural Support for Lock-Fred Data Structures", 1993 IEEE, pp. 289-300.
|Hybrid Transactional Memory; Luchangco et al.; ASPLOS '06; Sun Microsystems, Inc; Oct. 21-25, 2006.
|International Search Report for International Patent Application Serial No. PCT/EP2010/062302, dated Nov. 22, 2010.
|Java Message Service, version 1.1; Hapner et al.; Sun Microsystems; Apr. 12, 2002.
|Java.lang Class Thread; Sun Microsystems Apr. 5, 2003.
|Kerns, Tamra, "The Advantages of Multithreaded Applications" copyright 1998.
|Kongetira et al "Niagara: A 32-Way Multithhreaded Sparc Processor", 2005 IEEE, pp. 21-29.
|L.C. Heller et al "Millicode In an IBM zSeries Processsor"; IBM Journal of Research & Development, vol. 48, No. 314. May/Jul. 2004, pp. 425-434.
|Lee "The Problem with Threads", Innovative Technology for Computing Professionals, May 2006, pp. 1-19.
|LogTM: Log-based Transactional Memory; Moore et al.; Twelfth International Symposium on High-Performance Computer Architecture; IEEE; Feb. 11-15, 2006.
|Mate: Micro Assist Thread Engine; IP)C)M00027405D; IBM; Apr. 7, 2004 Cited in U.S. Appl. No. 11/928,758.
|McDonald et al; Architectural Sematics for Practical Transactional Memory; Proceedings of the 33rd International Symposium on Computer Architecture; IEEE; Jun. 17, 2006-Jun. 21, 2006 Cited in U.S. Appl. No. 11/928,758.
|Moore, Kevin et al., LogTM: Log Based Transactional Memory, Feb. 15, 2006, 12th Annual International Symposium on High Performance Computer Architecture (HPCA-12) Cited in U.S. Appl. Nos. 11/748,044; 11/928,533; 11/928,594; 11/928,661; 11/928,758.
|Rajwar et al "Speculative Lock Elision: Enabling Highly Concurrent Mullithreaded Execution", 2001 IEEE, pp. 294-305.
|Rajwar et al; Virtualizing Transactional Memory; Proceedings of 32nd International Symposium on Computer Arcvhtecture; IEE Jun. 4, 2005-Jun. 8, 2005 Cited in U.S. Appl. No. 11/928,594.
|Saha et al; Architectural Support for Software Transactional Memory; 39th Annual IEEE?ACM International Symposium on Microarchitecture; Dec. 9, 2006 Dec. 13, 2006 Cited in U.S. Appl. No. 11/928,758.
|Saha et al; McRT-STM; A High Performance Software Transactional Memory System for a Multi-Core RUntime; PPoPP '06; ACM Mar. 29, 2006-Mar. 31, 2006 Cited in U.S. Appl. No. 11/928,758.
|Schmid, Patrick, Architecture Diagram of The Celeron Williamette; Tom's Hardware, Jun. 12, 2002.
|Shavit et al. "Software Transactional Memory", Annual ACM Symposium on Principles of Distributed Computing, Proceedings of Fourteenth Annual ACM Symposium on Principles of Distributed Computing, ACM, 1995.
|Shriraman et al. "Hardware Acceleration of Software Transactional Memory", May 18, 2006, pp. 1-10.
|Subject Matter Eligibility Test (M-OR-T) for Process Claims; USPTO.
|U.S.P.T.O Communication, Final Rejection for U.S. Appl. No. 11/748,044 dated Nov. 10, 2009.
|U.S.P.T.O Communication, Final Rejection for U.S. Appl. No. 11/928,533 dated Apr. 8, 2011.
|U.S.P.T.O Communication, Final Rejection for U.S. Appl. No. 11/928,758 dated Jul. 9, 2010.
|U.S.P.T.O Communication, Final Rejection for U.S. Appl. No. 11/928,857 dated Jun. 8, 2011.
|U.S.P.T.O Communication, Final Rjection for U.S. Appl. No. 11/928,594 dated Jul. 9, 2010.
|U.S.P.T.O Communication, Non-Final Rejection for U.S. Appl. No. 11/748,044 dated Apr. 13, 2011.
|U.S.P.T.O Communication, Non-Final Rejection for U.S. Appl. No. 11/748,044 dated Apr. 14, 2009.
|U.S.P.T.O Communication, Non-Final Rejection for U.S. Appl. No. 11/928,533 dated Oct. 29, 2010.
|U.S.P.T.O Communication, Non-Final Rejection for U.S. Appl. No. 11/928,594 dated Mar. 8, 2010.
|U.S.P.T.O Communication, Non-Final Rejection for U.S. Appl. No. 11/928,758 dated Apr. 16, 2010.
|U.S.P.T.O Communication, Non-Final Rejection for U.S. Appl. No. 11/928,857 dated Nov. 26, 2010.
|U.S.P.T.O Communication, Notice of Allowance for U.S. Appl. No. 11/928,594 mailed May 25, 2011.
|U.S.P.T.O Communication, Requirement for Restriction/Election for U.S. Appl. No. 11/928,533 dated Jun. 28, 2010.
|U.S.P.T.O. Communication, Noticeof Allowance for U.S. Appl. No. 11/928,758 mailed Jun. 30, 2011.
|Unbounded Transactional Memory; Ananian et al.; 11th Internation Symposium on High-Performance Computer Architecture; IEEE; Mar. 7, 2005.
|Wilson et al., "The Case of Compressed Caching in Virtual Memory Systems", Proceedings of the 1999 USENIX Annual Technical Conference; 1999.
|Wood, "Transactional Memory-An Overview of Hardware Alternatlves", Transactional Memory Workshop, Apr. 8, 2005, pp. 1-22.
|Wood, "Transactional Memory—An Overview of Hardware Alternatlves", Transactional Memory Workshop, Apr. 8, 2005, pp. 1-22.
|Written Opinion for International Patent Application Serial No. PCT/EP2010/062302, dated Nov. 22, 2010.
|Yen et al, LogTM-SE Decoupling Hardware Transactional Memory from Caches, Feb. 14, 2007, 13th Annual International Symposium on High Performance Computer Architecture, cited in U.S. Appl. No. 11/748,044.
|Citing Patent
|Filing date
|Publication date
|Mar 31, 2011
|Sep 10, 2013
|Oracle International Corporation
|System and method for optimizing a code section by forcing a code section to be executed atomically
|Oct 19, 2012
|Aug 11, 2015
|International Business Machines Corporation
|Computing system with transactional memory using millicode assists
|Dec 12, 2013
|Sep 29, 2015
|International Business Machines Corporation
|Coalescing memory transactions
|Dec 12, 2013
|Oct 13, 2015
|International Business Machines Corporation
|Dynamic predictor for coalescing memory transactions
|Jan 22, 2014
|Mar 22, 2016
|Amazon Technologies, Inc.
|Systems and methods providing optimization data
|Dec 12, 2013
|Mar 22, 2016
|International Business Machines Corporation
|Software enabled and disabled coalescing of memory transactions
|Sep 15, 2015
|Mar 22, 2016
|International Business Machines Corporation
|Software enabled and disabled coalescing of memory transactions
|Dec 12, 2013
|May 24, 2016
|International Business Machines Corporation
|Software indications and hints for coalescing memory transactions
|Dec 12, 2013
|May 24, 2016
|International Business Machines Corporation
|Code optimization to enable and disable coalescing of memory transactions
|Sep 15, 2015
|Jun 7, 2016
|International Business Machines Corporation
|Software indications and hints for coalescing memory transactions
|Sep 15, 2015
|Jul 5, 2016
|International Business Machines Corporation
|Code optimization to enable and disable coalescing of memory transactions
|Jun 15, 2015
|Aug 30, 2016
|International Business Machines Corporation
|Coalescing memory transactions
|Apr 15, 2013
|Oct 11, 2016
|International Business Machines Corporation
|Executing distributed globally-ordered transactional workloads in replicated state machines
|Sep 11, 2013
|Oct 11, 2016
|International Business Machines Corporation
|Executing distributed globally-ordered transactional workloads in replicated state machines
|Jan 28, 2016
|Feb 28, 2017
|International Business Machines Corporation
|Software enabled and disabled coalescing of memory transactions
|Sep 4, 2015
|Apr 11, 2017
|International Business Machines Corporation
|Dynamic predictor for coalescing memory transactions
|Apr 15, 2013
|May 16, 2017
|International Business Machines Corporation
|Out-of-order execution of strictly-ordered transactional workloads
|Sep 11, 2013
|May 16, 2017
|International Business Machines Corporation
|Out-of-order execution of strictly-ordered transactional workloads
|Mar 3, 2015
|May 23, 2017
|Rambus Inc.
|Single command, multiple column-operation memory device
|Jun 6, 2016
|Jun 27, 2017
|International Business Machines Corporation
|Code optimization to enable and disable coalescing of memory transactions
|Dec 30, 2008
|Oct 10, 2017
|Intel Corporation
|Registering a user-handler in hardware for transactional memory event handling
|Mar 31, 2011
|Oct 4, 2012
|Moir Mark S
|System and Method for Optimizing a Code Section by Forcing a Code Section to be Executed Atomically
|Mar 3, 2015
|Jun 25, 2015
|Rambus Inc.
|Single command, multiple column-operation memory device
|U.S. Classification
|711/147, 718/106, 718/104, 718/101
|International Classification
|Cooperative Classification
|European Classification
|Oct 30, 2007
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HELLER, THOMAS J., JR.;BAUM, RICHARD I.;REEL/FRAME:020037/0906;SIGNING DATES FROM 20071029 TO 20071030
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HELLER, THOMAS J., JR.;BAUM, RICHARD I.;SIGNING DATES FROM 20071029 TO 20071030;REEL/FRAME:020037/0906
|Apr 14, 2015
|Fee payment
Year of fee payment: 4


text:
Rather than create anything new and interesting for the TV network (Ryan Seacrest counts as neither), the folks at E! are betting on that sure-fire, never-fails, no-one-has-ever-lost-a-dime-on-it medium: The Internet.
The Answer Bitch, L.A.'s hottest little vixen of gossip, tells us – and only us, because we're that cool – that she filmed a short-form Internet program on her brand-new set yesterday, joining other short-form nuggets, such as The 2006 Tater Tops Awards and a Web-only complement to The Simple Life, Life Ain't Simple.
Why do networks insist on relegating their good stuff to the Web? It's nice to have something to watch at work, but our TiVo is hungry.

subset: commoncrawl


text:
Professional Computer, Networking & Software Services
Avoid unexpected down time by monitoring your technology for potential threats before your business would know they exist.
SDS EZ-WiFi
Let us blanket your home in Wi-Fi!
Whether your Internet connectivity comes from Consolidated, Frontier, Mediacom or any of the others, the maintenance of your home wi-Fi network is your responsibility. Let us take the guesswork out of the process with SDS EZ-WiFi.
Do you have a current plan to upgrade systems or are you currently reviewing your networking needs? You don't have to do it alone! Contact us today to learn more about our wide range of consulting services!
With today's technology, security is a growing concern for many organizations. SDS can provide security audits on your network, firewall penetration testing, and anti-virus and spam protection.
Equipment Sales
We have hardware and software in stock!
Today's marketing world is ever changing, and businesses like yours have to keep ahead of the competition! Your customers are utilizing smart phones, tablets, and social media more than ever before, and SDS can help you design a new web site or simply add a fresh new look.


text:
Distressed American Flag Bandana measures 21"x21" and features an original design that can be worn in multiple ways. Wear it on your head, under your motorcycle helmet, on your face or even as a neck warmer. This bandana is perfect for the biker who wants to show off their attitude!
WITH CYCLE HEARTSubscribe for our newsletter and receive 5% OFF your next order!
Thank you.
Please check your inbox for your welcome voucher code.


text:
Delta air quality improves, but roadside pollution worse in Hong Kong
Clean-ups at power plants and tighter controls on vehicle emissions cited as key factors
Related topics
Air quality in the Pearl River Delta improved last year, according to the latest regional air quality report, but concerns are mounting about the deterioration of roadside air in Hong Kong.
The biggest improvement was in sulphur dioxide concentrations, which fell by an average of 25 per cent from 2011 levels.
Respirable suspended particles - tiny specks of pollutants that can penetrate the lungs - fell 13 per cent year on year, while ozone dropped by 7 per cent and nitrogen dioxide by 5 per cent.
Environment officials in Hong Kong attributed the decrease to "favourable meteorological conditions" as well as emission reductions. Last year Guangdong expanded the supply of cleaner petrol and boosted a clean-up at power plants and cement kilns, and in Hong Kong vehicle emission standards were tightened, officials said.
According to the Hong Kong Observatory, last year there was 20 per cent less rainfall than normal, and 15 per cent less sunshine. The region also experienced its worst storm in years, when tropical cyclone Vicente swept into the city last July.
Professor Wang Tao, an air pollution expert at Polytechnic University, said the news came as little surprise as pollution had been on a declining trend.
He said the fall in sulphur levels could be due largely to a clean-up at mainland power plants. "It is very efficient to remove sulphur by as much as 90 per cent if scrubbers are installed," he said.
Officials said accumulated improvements in air quality ranged from 17 to 62 per cent since 2006, the first full year air data became available under a cross-border monitoring network comprising 16 stations on building roofs.
Despite the improvement, a local clean air advocacy group remained deeply worried about air quality at street level.
"The continuing improvement to the regional air quality is in stark contrast to Hong Kong's deteriorating roadside air pollution, in particular nitrogen dioxide," said Kwong Sum-yin, of the Clean Air Network.
Earlier this month, Hong Kong recorded one of its worst roadside quality readings, with the air pollution index soaring to more than 210 in Central.
Kwong urged the government to speed up a phase-out of dirty diesel trucks. Some HK$10 billion has been earmarked to compensate truck operators under a plan to remove up to 88,000 trucks from the streets by 2019.
Most Popular
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5


text:
Your browser does not support iframes.
Brandon Heath was scheduled to perform an intimate, acoustic concert at the Ark Encounter on Nov. 11.
Unfortunately, Heath ended up in the hospital with strep throat. Josh Wilson received a phone call around 7 p.m. Friday, Nov. 10 and agreed to drive up from Nashville to Kentucky to entertain the large crowd.
H.O.P.E. (Helping Out People Everywhere) and Williamstown Baptist Church are both giving out free Thanksgiving meals for less fortunate Grant County residents.
H.O.P.E. is having a traditional hot meal Nov. 22 from 5 to 8 p.m. at the Hopperton Lane center. Center Director Kim Haubner said anyone is welcome to come for a meal.
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; text-indent: 12.0px; line-height: 11.0px; font: 10.0px Times}
span.s1 {font-kerning: none}
Dry Ridge Mayor Jim Wells broke a tie vote after a disagreement about exactly how to pay for a nearly $218,000 new ambulance arriving in mid-December.
Interact for Health gave $20,000 to the Northern Kentucky Independent Health District (NKIHD) to help end tobacco use in Grant County.
In honor of Interact for Health's 20-year anniversary, 19 other counties were also given $20,000 grants. Grant County's money will go towards putting together research and a coalition to help end tobacco use.
The Grant County Chamber of Commerce wants you to be our guest at the last meeting for 2017 on Monday, Nov. 20 at the Grant County Extension Office.
If you've ever wondered about joining the Grant County Chamber of Commerce, then this is your chance to find out what the chamber is about, ask questions and meet some of the business leaders and elected officials in the community.
Several organizations and groups in Grant County are making plans to help families in need this holiday season.
The following government buildings/businesses will be closed in observance of the holidays.
Three years ago, I accepted an offer to become the youth minister of Williamstown Christian Church.
My family and I packed up our home on the west side of Cincinnati and moved to Grant County.
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; text-indent: 12.0px; line-height: 11.0px; font: 10.0px Times}
The Williamstown Senior Center will host a Giving Thanks dinner reception for all Grant County seniors and Williamstown city workers from noon to 2:30 p.m. Tuesday, Nov. 14. Cost for meal is $5. Reservations required by Nov. 9.
The NBC top rated TV show, America's Got Talent has invited a local dance team to audition in Cincinnati on Tuesday, Nov. 14.
Copyright © 2017
The Grant County News is your source for local news, sports, events, and information in Dry Ridge, KY and the surrounding area.


text:
Rittz - High Five
After releasing his first single, Full of Sh*t, featuring Yelawolf and Big K.R.I.T we all wondered whether Rittz could hold down a whole record on his own. Well, you don't have to wonder any longer, because the up-and-coming Georgia emcee has teamed up with producer DJ Burn One yet again to drop High Five, a song that keeps him firmly in the solo spotlight. Rittz delivers an impeccable double time flow over DJ Burn One's down south track that incorporates an indelible sample that will continue playing in your head after the song is done. Displaying his blunt and nonchalant attitude, Rittz spits lines such as "Yela put me on an elevator going up, any brother steppin to me on the mic I'ma bury him, I aint scared of being arrogant, yeah it gets hard but these balls hard like a barbarian, plus a mother f*cker represents Slumerican." With the release of High Five has Rittz truly established his rapping abilities? We'll find out for sure when his upcoming mixtape, White Jesus, hits DJBooth.net in February.


text:
Through our education and training program, we match the finest engineering talent with industry to work together on research projects to develop innovative technology for Australia and the global market.
Our education program offers students industry experience and financial support, along with training and professional development opportunities. We have 8 universities participating in the education and training program.
Our education program is split in two streams:
PhD student program – supports students to undertake vital research and equips them with skills to successfully pursue their career. Students either work independently on their research through the university (strategic project) or form part of a larger team working on an industry defined research project (embedded project). Either way, the research outcomes all make a valuable contribution to an industry by providing high-level research skills and enhancing knowledge.
Undergraduate student program – a year-long research project which provides students with hands-on experience and companies with resources to assist with their research and development.
Key benefits for students:
- Regular opportunities to showcase their research and network with industry
- Work under the guidance of an industry mentor
- Meet and establish connections with other students
- Participate in industry internships and international university exchanges
Key benefits for industry:
- Explore emerging trends and evaluate new techniques
- Develop, test and employ new ideas
- Develop quality, useful research outcomes
- Work with the latest engineering talent


text:
The fixtures for the new 2016 Autumn competition have been posted. They are located on MyNetball and can be accessed by clicking the "Fixtures/Results" menu and going to the link there.
You can also use the MyNetball app on your mobile to view fixtures and results.
At present only the Saturday competition is complete. The Wednesday comp will be completed by Monday 8/2.
Comment Guidelines: The SportsTG Network is made up of players, families and passionate sports followers like you who have a strong opinion about sport. That's great - we want you to have your say and share your thoughts with the world. However, we have a few rules that you must follow to keep it fun for all. Please don't be rude, abusive, swear or vilify others. Apart from some pretty serious sport sanctions, we also can ban you and report you if things get out of hand. So play fair and have fun, and thanks for your contribution.


text:
MANY are the tools designed to help travellers decide on the best way to reach B from A. Search engines allow you to order results by ticket price, number of connections, journey duration and carbon-dioxide emissions. What you can't usually do, though, is stipulate that you would prefer to travel by ox cart or rapid military march. That's because the modern travel-booking tool is a lot less fun than a new creation from a team of historians and IT specialists at Stanford University.
ORBIS is an interactive map of the Roman Empire as it was around 200AD. The "geospatial network model" includes 751 sites, 84,631 km (52,587 miles) of road or track, and 28,272 km of navigable rivers and canals—not to mention 900 sea routes. Among its various capabilities, it allows users to work out how long it would have taken and how much it would have cost to travel from any given point in the empire to any other, given a particular mode of transport, time of year and proposed route. It's a bit like a Roman routeRANK.Via http://www.economist.com/blogs/gulliver/2012/05/business-travel-romans


text:
When we heard the news about the shoot down if the Special Forces Chinook helicopter and the death of 30 brave Americans we were all heart broken. No Patriotic American can hear the news about the death of American lives and not be touched.
The Elite Military units such as the Navy Seals, Delta Force, Army Rangers, Air Force Special Operations and Marine Recon deserve all of the accolades they receive. They are extremely brave warriors who go into extremely dangerous places to serve our country and protect our freedoms.
Let's not forget about the everyday G.I. Joe and G.I. Jane who risk their lives defending our country and sometimes paying the ultimate price. They serve everywhere from the United States to Afghanistan, from Germany to Iraq, from the Pacific to the Atlantic, and don't forget about the skies above.
We have lost many brave service men and women over the last ten years who paid the ultimate price with their lives. Thousands have been wounded in the body and the mind because of wars we asked them to fight. Their family's have had to deal with the trauma of loosing a loved one or having to help them heal. Thank god the vast majority of them have returned safe and sound and are readjusting to life here in the states.
All of our Brave Military Service Men and Women are "True American Hero's" and deserve our gratitude and respect. Be sure to thank them when you see them.
Be sure to comment in the Comment Section below.
You can follow me on Twitter @95SVTCobraVA


text:
Orange Mixer
...projects from a colorful kitchen
Saturday, April 7, 2012
Redeeming Spring Chives
It's a chilly spring Saturday, but I'll take it. The sun is out, and the car is too hot, though you pull your jacket around you when it's time to get out.
The house smells of lemon peel and crushed coriander. Sorghum Wit is on the boil, and the brewer is prepping the flavorings.
Easter is tomorrow. For Mom's ham dinner, a shameful corn casserole. Last time I made it, I told myself I'd edit out all the packaged ingredients after I make it once. That would've been easy if it didn't taste awesome, exactly this way.
Read more »
Posted by
Lou Ann
No comments:
Newer Posts
Older Posts
Subscribe to:
Posts (Atom)


text:
The ranking members of the state Assembly's Public Safety Committee are at odds over prison inmates' efforts to end long-term solitary confinement.
Committee Chairman, Tom Ammiano, a Bay Area Democrat, released a public statement last week calling the state's practice of solitary confinement unjustifiable because it often labels inmates gang members without sufficient evidence.
"The weak public grounds we have been told about - on multiple occasions - include the validation (as gang members) of people solely on the basis of things like possession of cups with indigenous symbols, artwork, books ... and simple greetings between prisoners," stated Ammiano in an email he sent to the Triplicate on Monday.
His Republican colleague disagreed during a telephone interview with the Triplicate last week.
Inmates in Security Housing
Units at state prisons such as Pelican Bay are "there for good reason, they can wreak a lot of havoc in the communities from the prisons," said Melissa Melendez, who represents a Southern California district. "I'm not in law enforcement and I'm not in the corrections field, so I trust our folks who are ... to have a sense to know what can work and what cannot work."
Ammiano said his opinion is based on what he's heard from prisoner rights groups and the media.
A inmate hunger strike enters its 15th day today with less than 1,000 inmates still not eating to protest long-term solitary confinement. It began with more than 30,000.
On Monday, 986 inmates in 11 of 33 state prisons had refused at least nine consecutive state-issued meals, according to the California Department of Corrections and Rehabilitation.
There were also 42 inmates in one prison who refused to participate in their work assignments, but the CDCR would not identify the facility.
Two inmates at Pelican Bay State Prison received hydration Monday.
Prison officials have scheduled an informational meeting with prisoner rights advocates today.
Inmates leading the strike have been moved into Administrative Segregation Units, prisoner rights advocates claim.
The hunger strike is a continuation of two similar protests that were launched in 2011 by a core group of inmates who are housed in Pelican Bay's Security Housing Unit. Four main representatives from different ethnic backgrounds (African-American, White, Northern and Southern Hispanics) have dubbed themselves the Short Corridor Collective.
They want to be released from the SHU and are calling for an end to the "debriefing" process, in which inmates can gain their release from the SHU by sharing information about other inmates' illegal gang activities.
Prison officials say holding some inmates in the SHU for indeterminate periods is necessary to prevent gang communications both behind bars and on the streets.
Advocacy groups argue for the abolishment of SHUs while the CDCR maintains the hunger strike is driven by prison gang members who want to get out of the SHU to expand their criminal enterprises.
"I am, of course, well aware that many of these are people convicted on good evidence in court of heinous crimes, and that some of them can be demonstrated to be gang members with good evidence," said Ammiano in the email.
"That does not excuse CDCR putting prisoners under conditions that are extreme, not just in my opinion, but according to Amnesty International and other respected organizations," stated Ammiano. "What's more, despite talking extensively with CDCR about their practices, I have heard nothing to prove that those very expensive practices do anything to improve 'the safety of taxpayers,' or reduce crime in my district or any other district.
"Until that proof is forthcoming and until CDCR is more forthcoming about why it places people in SHU, it will be difficult to defend their practices," said Ammiano.
Melendez thinks otherwise.
"(Inmates) want to get rid of segregation and they no longer wish to have the debriefing process in effect and I think those are two very valuable tools necessary in prison systems," she said.
The CDCR has implemented a new policy regarding gang management that has added another opportunity for inmates to earn their way out of the SHU by participating in rehabilitative programs and renouncing gang activity in a process that could take up to four-years. The Collective argues it is not enough, however, because there will still be inmates who may be stuck in the SHU indefinitely in the new program.
"This is a careful process and we want to make sure it's done right," said Melendez.
She considers the hunger strike an ineffective disruption of the prison system.
"I don't see corrections moving more quickly because they have inmates on a hunger strike," said Melendez. "The prisoners are not supposed to be running the prisons."
CDCR Secretary Jeffrey Beard recently stated the hunger strike is harming the inmates' cause.
Reach Anthony Skeens at firstname.lastname@example.com.


text:
Plus the return of a '90s icon
18 Unforgettable Bikini Moments
Plus the return of a '90s iconMore
We're pretty much certain that Emily Ratajkowski will actually, properly break the internet with her latest cover shoot for our transatlantic pals over at Harpers Bazaar US.
Star of one of the most iconic ad campaigns of the '90s, CK have brought back Croydon's own Kate Moss for a new nostalgia-driven promo series.
The Women We Love This Week: Emily Ratajkowski, Natalie Dormer And The WAGs Of Euro 2016


text:
Sunday, October 01, 2006
Beat the traffic, take to the water
Have you missed my first Yellow water taxi ? Here is Taxi 2, the sequel. Been sitting in the traffic for what seems ages, haven't moved an inch? Use a water taxi and beat the traffic! Today is a City Daily Photo theme day and if you want to see what taxis look like all over the world click on any of the participating sites below. Bet none of them gets such a fast run as my yellow water taxi! For another angle, see Sally's entry today Water taxi, Darling Harbour.
Re websites below, one of the most interesting in my opinion is the last (St Paul, MN, USA) for the comment about muslim taxi drivers refusing to take people carrying alcohol. Will they soon also refuse to carry single women not accompanied by a male relative? This sets a precedent for future dangerously divisive paths. The cutest is number 28 (look for the Oct 1st entry)...
Participating sites : 1 (Porto, Portugal) -2 (Albuquerque, NM, USA) -3 (London, England) -4 (Seattle, WA, USA [Kim]) -5 (Edinburgh) -6 (Stayton, OR, USA) -7 (Greenville, SC, USA) -8 (Budapest, Hungary) -9 (Antigua, Guatemala) -10 (Alexandria, VA, USA) -11 (Manila, Philippines) -12 (Twin Cities, MN, USA) -13 (Szentes, Hungary) -14 (Paris, France) -15 (Portsmouth, England) -16 (Ryde, UK) -17 (Sydney, Australia) -18 (Oulu, Finland) -19 (Singapore [keropok]) -20 (Santiago, Chile) -21 (Melbourne, Australia) -22 (Dubai, UAE) -23 (Bandung, Indonesia) -24 (Copenhagen, Denmark) -25 (Sequim, WA, USA) -26 (Singapore [Raymond]) -27 (Tenerife, Spain) -28 (Sharon, CT, USA) -29 (Tuzla, B&H) -30 (Jakarta, Indonesia) -31 (Rotterdam, Netherlands) -32 (Brussels, Belgium) -33 (Stavanger, Norway) -34 (Aliso Viejo, CA, USA) -35 (Oshawa, ON, Canada) -36 (Vantaa, Finland) -37 (Trier, Germany) -38 (Newcastle upon Tyne, England) -39 (Hong Kong) -40 (Shanghai) -41 (Brussels, Belgium) -42 (San Diego, CA, USA) -44 (St Paul, MN, USA)
18 comments:
a water taxi?? wow...i heard it first time!
whats the price of taking it?
- 7:29 pm
- John - Melbourne said...
Good on you Nathalie you improved on the first by a good angle showing the water and movement is always good.
- 7:35 pm
hmmm..some how this one reminds me of miami vice ;) and good job with the reflection shot!
- 7:47 pm
- Nathalie said...
Hi Jing, let's face it, these taxis are not cheap. The cost is 75 Australian dollars (= approx US$57)for a 10 mn ride from Circular Quay to Darling Harbour. That's for sole use of the taxi, for up to 4 people. But they also have shuttle services running at set times and these start at A$15 per person. A ferry ride is much cheaper so I've never taken a water taxi.
- 9:51 pm
great photo of a taxi, it's a shame they're not more affordable.
- 11:00 pm
- Zsolt72 said...
its really like Miami vice. Looking at your photo I feel the smell of sea and the wind on my face. Wow..I wanna take a taxi:)
- 12:48 am
- Chris said...
Super : la version "au travail" de ces taxis sur eau !
Quelle chance pour l'Australie d'avoir des frenchies à bord pour la raconter vue d'un autre angle :-)
- 1:43 am
- Kim said...
Super cool to see it skimming along the water! I love the shadows from above, as well. When I visit someday, if it's not too dear, I hope to take a taxi ride around your harbor.
Thanks for your comments at SDP and MSS, Nathalie. You and I think a lot alike! The shot you commented on was actually my first pick, but my husband and daughter advised otherwise for theme day reasons--it could have been any taxi in anytown USA. The background and ad placed it in Seattle. It is sometimes the case my "best" shot doesn't make it to SDP for one reason or another. . .that's why I have a More Seattle Stuff page. At least I can put it out there. Your kind comments are much appreciated.
- 2:20 am
- kaa said...
another water taxi from sydney. saw sally's already. this one's seems to be in a hurry. great shot!
- 3:58 am
Hi Natalie,
Again a great shot, love the motion in this as well as the colour.
I have taken a Syndey Ferry, but never a Sydeny Water taxi... they look pretty cool, but expensive!
One of the best taxi shots I've seen today.
- 5:33 am
- Alex said...
Funny these water taxis are yellow too! Quite cool despite the prices! Do they don't run at night too?
- 5:45 am
- Kate said...
Nathalie, Thanks for visiting so many of my photos. You know, I checked the blogs late last night to catch the first posters and commented on yours which is NOT on here and which was among the first coments. I'm pretty sure it's my fault because after I proofread I often forget to publish the comments, and quickly move on.
SO......I am impressed by the fact that you among a few others who managed to get a picture of something other than just an automobile so kudos for creativity, plus it's a great shot!! Have a good week!
- 9:26 am
- Robert said...
Nice shot Nathalie! Great to see you got it in action.
Thanks for your comments on my shot.
- 11:33 am
- Denton said...
And with a water taxi one gets a much better view. If you stand outside you even get some salt air in your face ... Great post.
- 12:09 pm
Looking at the yellow boat makes me miss Sydney. Maybe I shall plan another trip to there to take a ride on the yellow water taxi.
- 1:25 am
- Felicia said...
Nice to see something different! Looks like fun.
- 10:25 am
- Sally said...
Great shot of movement, Nathalie - love it.
Great if you go out to a harbourside restaurant and drink too much!
alex - funny they are yellow, because car taxis in Sydney are NOT yellow! (mostly white - what you can see undr the advertising)
- 8:34 pm
- Meg Nakagawa said...
Great twist on the theme. I wished I thought of it, because those we have aplenty. (Well, not in town, but...) Good job, and a nice picture, too.
- 6:20 am


text:
I honestly don't think I need a new device. When it was stock it worked fine. But I'm on MLG deodex ROM now and that's where the problem started. I even tried nc2 international and dynamic but those all have the same issue for me. My screen rotation works fine. Maybe I meant to say compass not gyro. Not sure if they are one and the same. But when I use a compass app I have to do the figure 8 to calibrate it then if I reboot it resets it back to being all wonky. Any help is greatly appreciated.
|Thread Tools
|Search this Thread
|Display Modes
Linear Mode


text:
ThemeForest Astro Onepage Multipurpose Business HTML Template 9434126
Site Template \ Corporate \ Business
Parallax \ Creative \ Responsive \ Framework \ Customize \ Bootstrap \ Modern
Site Template - Astro Onepage Multipurpose Business HTML Template 9434126 by ThemeRegion @ ThemeForest
Site Template \ Corporate \ Business
Astro is responsive and modern onepage parallax HTML template for corporate/agency, business and portfolio sites. It is very clean, creative one page template. It's very easy to modify and customize everything. Astro is powered with Twitter Bootstrap 3.2 Framework.
- Based on Bootstrap 3.2 Framework
- 100% Responsive
- Font Awesome 4.2.0
- Clean and Creative Design
- CSS3 Animations and Transitions
- Clean Code with Comments
- Easy to Customize
- Parallax Background
- Smooth Scrolling
- Detailed Documentation
- And much more…
NOTE: Images are not included in this file.
Last Update: 17 February 15; High Resolution: No; Compatible Browsers: IE9, IE10, IE11, Firefox, Safari, Opera, Chrome; Compatible With: Bootstrap 3.x; ThemeForest Files Included: HTML Files, CSS Files, JS Files; Columns: 4+; Documentation: Well Documented; Layout: Responsive.
Doors Onepage MultiPurpose Joomla Template; Doors Onepage Corporate Multipurpose Template.
Keywords: astro, business, corporate, creative, html5, modern, onepage, parallax, portfolio, responsive, shop, transition.


text:
By continuing browsing this website, you accept the use of cookies or other tracers for statistics of visits to optimize the functionality of the site. General terms and conditions of use
Total industrial lubricants for Aviation industry
With its TOTAL AERO and TOTAL NYCO aviation oils, Total Lubricants offers a complete range of lubricants for general and civil aviation industry. All of our aviation lubricating oils meet international specifications and operate over a wide temperature range.
Discover our aviation lubricants for piston engines:
Piston engines are used in general aviation. We provide single grade or multigrade mineral oils. Some of these oils contain an ash-free dispersing agent. All of our oils meet the requirements of engine manufacturers (Lycoming, Continental, etc.).
Discover our ranges of aviation oils for the following applications:
Dispersive engine aviation oils: TOTAL AERO DM and TOTAL AERO D ranges
Non-dispersive engine aviation oil: TOTAL AERO range
Protection aviation oil: TOTAL AEROPROTECTIVE 219: mineral oil for internal protection of aircraft piston engines.
Download our Brochure presenting our offer of lubricants for aviation


text: I found Sugar Bear. Sitting next to a bus painted with dancing bears. My eyes zoomed in on a container also shaped like a bear, like an old honey jar. It was filled with a multi-colored powder. I'm looking for Sugar Bear! Who wants to know? And there sat this wook, so smug and complacent, with the antidote right out in the open. I'm Kurtis. Are you Sugar Bear? Go away, Kurtis. I hear you have some powder. I pointed to the canister on the table. My powder is not for sale, dread. He picked up the bear-concoction and held it like a trophy. I tried to be cool. Hey, bro–we're all family here–All Good–no worries–hee-hee–I have money. I just want some powder. He snapped back–tell it to the judge, Kurtis–there's no powder here for sale. The cat proved to be difficult, so I tried sincerity. Listen–my boy needs some of your sugar, he's in the hospital, sick, very sick, and they say your sugar can help, so why don't you help our family out. I don't give a fuck about your family, Kurtis; if your friend needs my sugar, then he must have done something to deserve his condition. I exhausted all avenues, money, sincerity, friendliness–there was only one more option: Delta Force ninja time. Don't make me take that from you. I took a step towards him. He didn't buckle. Boys. He clapped and three of his friends that had been sitting around all rose up and circled in on me. They didn't know the full extent of my trickery, and real quick I showed them the secret of Kurtis–old school skills–dormant, acquired from my days in Thailand. Boff whamm sock kapow splatt crash zamm a roundhouse a few punches and kicks klonk thunk whap zok zam whamm I broke it down in a minute–knowing the exact spot to render someone unconscious urkkk clank klonk clash I turned my attention back to the smug kid with Thelonious's remedy. Don't fuck with me, Sugar Bear–give me what I asked for. Mamma Cass, he yelled–and then the largest woman I've ever seen in my life appeared from behind the bus. She was huge. Sugar Bear stood. I'm sorry, dread–no one gets my sugar unless I'm told to give them my sugar–and you ain't got the kind of money it takes. Mamma Cass, treat this young dread to some manners, show him some love. In the meantime, me and my sugar will be hitting the road. The scoundrel darted out of the trashed campsite, carrying the concoction. Meanwhile, this large woman bear-hugged me, deflating my esophagus of oxygen. Handling me like a sack of soiled laundry, she tossed me to the ground and sat on me. The other three dudes began to regain consciousness, while a group of neighbors hovered around us like a gallery.


text:
We help you find a Liversedge piano tutor. Piano lessons are an excellent method to start a stimulating new hobby, acquire a new talent and gain confidence with piano. Try our site to search for Liversedge piano tutors and select which matches your needs so you can enjoy your piano tuition in Liversedge today!
First Tutors: Music is the fastest way to find Liversedge piano teachers in the UK, helping you find Liversedge piano tuition close to home and Liversedge tutors to assist with any instrument, for example, piano, violin or guitar. We can help you find Liversedge piano tuition or a one-to-one Liversedge piano teacher to prepare for piano grades and develop your piano skills! We order Liversedge piano tutors in your area according to their lesson charges and distance from you.
If you are a piano teacher wishing to offer piano lessons in Liversedge or throughout the UK, please register with First Tutors: Music or find out more about us here. Becoming a Liversedge piano tutor is a great way to re-affirm your own skills by providing piano lessons while helping others, all in your local Liversedge area!


text:
Volunteer Stream Monitoring Training Workshop
Saturday, May 13, 2017 (9:30am-3:30pm)
Location: The Town of Merton Town Hall, Merton
Facilitators: Nancy Sheehan, RRC Stream Monitoring Program Coordinator.
Jayne Jenks, Waukesha County Parks and Land Use Dept.
Tom Steinbach, Operation Manager, Oconomowoc Wastewater Treatment Facility.
In partnership with Jill Bedford, Tall Pines Conservancy, as well as Clean Water Association and The North Lake Management District.
Pre-registration required.
Contact: Nancy Sheehan: firstname.lastname@example.com
**Please note that this training will include instructions on how to be a volunteer stream monitor as well as how to be a "Mud Chaser" monitoring streams during storm events and how to collect samples for phosphorus.


text:
Bruno Marino is a PhD Candidate in Political Science and Sociology at the Institute of Humanities and Social Sciences (Scuola Normale Superiore). His research interests include party organisations (i.e. party leader selection, candidate selection, intra-party democracy), political elites, electoral behaviour. In 2016, he was awarded, jointly with Vincenzo Emanuele, the 'Carlo Maria Santoro Prize' for the best paper presented at the 2015 Conference of the Italian Political Science Association (SISP). He has devised, along with Nicola Martocchia Diodati and Luca Verzichelli, the first 'Personalisation of Party Politics Expert Survey', a project aiming at studying the personalization of politics in Western Europe. He has also taken part in several Summer and Winter Schools in Political Methodology, focusing on quantitative methods. His contributions have appeared on the Italian Political Science Review, Regional and Federal Studies, and the Journal of Contemporary European Research. Link to pubblications: https://scuola.academia.edu/BrunoMarino.
Party leader selection; candidate selection; intra-party democracy; political elites; electoral behaviour.
- Martocchia Diodati, N. and Marino, B. (2017) 'What difference does it make? Explaining the voting behaviour of Partito Democratico's electorate and selectorate in 2013', Italian Political Science Review / Rivista Italiana di Scienza Politica 47(1), pp. 1-20; doi: https://doi.org/10.1017/ipo.2016.24
- Emanuele, V. and Marino, B. (2016) 'Follow the Candidates, Not the Parties? Personal Vote in a Regional De-institutionalized Party System', Regional & Federal Studies 26(4), pp. 531-544; doi: http://dx.doi.org/10.1080/13597566.2016.1226812
- Emanuele, V., Maggini, N. and Marino, B. (2016) 'Gaining Votes in Europe against Europe? How National Contexts Shaped the Results of Eurosceptic Parties in the 2014 European Parliament Elections', Journal of Contemporary European Research 12(3), pp. 697-715; available at: http://jcer.net/index.php/jcer/article/view/732/586


text:
Ethel May Bolander
- 93 years old
- Date of birth: Aug 14, 1922
- Date of passing: Sep 26, 2015
|Let the memory of Ethel be with us forever
This memorial website was created in memory of our loved one, Ethel Bolander, 93, born on August 14, 1922 and passed away on September 26, 2015. We will remember her forever.
Leave a Tribute:
Invite your family and friends
to visit this memorial:
to visit this memorial:
Subscribe to receive e-mail notifications when others contribute to this memorial.
503 views
Have a suggestion for us?


text:
Musical - Vixy & Tony
Vixy & Tony (Michelle Dockrey and Tony Fabris) have been performing acoustic music as a duo since 2005. Their folk/rock musical style, and science fiction and fantasy lyrics, combine to tell engaging stories. Their debut album "Thirteen", contains the Pegasus-award-winning songs "Emerald Green", "Six String Love", and the Firefly-inspired hit, "Mal's Song".
Their energetic performances can be enjoyed by both sci-fi fans and mainstream music fans alike, earning them the Best Performer Pegasus Award in 2008. They are currently working on their second album, and can frequently be found playing with cellist Betsy Tinney and violinist Sunnie Larsen. Their music can be found at VixyAndTony.com.


text:
2005 Mercedes-Benz C-Class Sedan - Consumer Review
Build Quality
Reliability Value
Build Quality
Reliability Value
Great value for the money
By rock7111 on
Vehicle2005 Mercedes-Benz C-Class C230 Kompressor Rwd 4dr Sport Sedan (1.8L 4cyl S/C 6M)
ReviewTake the time to test drive one of these if you have not already. Don't be mislead by reading the reviews for the coupe variant of the C-Class; that coupe was an abortion of a vehicle and should've never been built. I know because I traded one in for this sedan. I decided to give MB one more shot and I'm glad that I did. The C- Class sport sedan is a stunning machine. The interior is finely crafted; the engine is smooth & responsive despite being supercharged. Road noise is very low, and if you get the entertainment package, prepared to be wowed by the audio. If you can't stomach the '06 pricing, look for one of these '05 beauties on the pre-owned lot - you will not be disappointed.
Best FeaturesThe interior and exterior styling are top notch; fit & finish is among the best. MPG is none too shabby at 26+.
Worst FeaturesCould stand a bit more power since it competes with the 3 Series; pricing seems a bit high.
Recommend (0) (0)
Are you the author of this review?Update Your Review
Comments (0) Post a Comment
You must be signed in to post a comment.


text:
Beautiful Word Free
by: Fungameco • 1
All Android applications categories
by: Fungameco • 1
In Beautiful Words you will collect and create a beautiful patchwork of color. The game has a romantic and elegant style, it will delight you with it's visuals and sounds as you play against the clock finding words to light up the world.
The goal of Beautiful Words is to collect all of the curiously named colors in the games pretty patchwork, which is no easy task! As you obtain each color the difficulty rises as you go on a color acquiring run! Challenge yourself to how many colors you can obtain in a row and then try to beat it yourself and challenge your friends too!
Beautiful Words takes elements from traditional words games and layers it with a beauty and style that echoes an enchanting vibe. The soul of Beautiful Words is to offer an experience that is both challenging and satisfying with a touch of elegance. The beautiful pics in the background add a visually striking appeal and add a touch of wonder as to what will appear as you progress.
Players of word search, scrabble and boggle will love this game and find a unique challenge unlike any other and become a Beautiful Words Hero!
Beautiful Words is not only a treat for the eyes with it's design and color but also with its music and soundtrack, players are immersed in the blissful sounds from the tiny effects to the classical and peaceful music played to ease your tension and stress away! You won't find any zombies or monsters here!...Beautiful words aims to offer something new and different to players.
Beautiful works is a bus ting with all the colours of the rainbow. Collect Fire Engine Red, Bubble Gum Pink and Banana Yellow and stitch together your fabulous jewel patchwork. You and your friends will love this, jump into action and play today. Find the hidden beauty of colors and give your patchwork a makeover.
The collection elements can be bad for your relationships! Warning addictive content... your man/woman/girl/boy may object! E.G.:
"I ignored my husband and played this instead of talking to him" - Jude, London
"My boyfriend says I should come to bed, but I just want one more colour!" - Britney, New York
The floral designs and artwork offer a style not yet seen and is more akin to the elegance of weddings and Jane Austen style banquets! Beautiful Words really is a game of amazing beauty with a sprinkle of charm and romance.
Created by FunGameCo, Derby. Like us on facebook and follow us on twitter. Go get word mania this summer 10,9,8,7,6,5,4,3,2,1, GO!!!
Tags: beautiful words for arcade
from 1 reviews
Download Beautiful Word Free
Free - 1.2 - 27M
Sorry ...
This app is no longer available.Explore Android
Share this app


text:
Fighting for access to reproductive health careby
Texas has become a laboratory for bad ideas when it comes to reproductive rights.
In recent years state lawmakers have passed some of the toughest anti-abortion measures in the country, essentially making the procedure almost inaccessible for many Texas women.
The Texas Freedom Network supports efforts to ensure women have access to
abortion and other reproductive health care services. That access requires adequate state funding and broad availability of birth control, especially for low-income women.