text:
In a cluster of computing nodes having shared access to one or more volumes of data storage using a parallel file system, a method for managing the data storage includes initiating a data management application in the cluster using a data management application programming interface (DMAPI) of the parallel file system. When a request submitted to the parallel file system is received on one of the nodes to perform an operation on a file in one of the volumes of data storage, a data management access right is obtained from the DMAPI responsive to the request The operation is performed on the file using the access right.
1. In a cluster of computing nodes having shared access to one or more volumes of data storage using a parallel file system, a method for managing the data storage, comprising:
creating a session of a data management (DM) application on a session node selected from among the nodes in the cluster by invoking a function of a data management application programming interface (DMAPI) of the parallel file system;
receiving a request submitted to the parallel file system by a user application on a source node in the cluster to perform an operation on a file in one of the volumes of data storage;
sending a notification of a DM event from the source node to the session node responsive to the request;
obtaining a data management access right from the DMAPI by processing the event at the session node; and
performing the operation on the file from the source node using the access right.
2. A method according to
3. A method according to
4. A method according to
5. A method according to
6. A method according to
7. A method according to
8. A method according to
9. A method according to
10. A method according to
11. A method according to
This application claims the benefit of U.S. Provisional Patent Application No. 60/214,127, filed Jun. 26, 2000. It is related to four other U.S. patent applications, filed on even date, entitled "Data Management Application Programming Interface Session Management for a Parallel File System"; "Data Management Application Programming Interface for a Parallel File System"; "Data Management Application Programming Interface Handling Mount on Multiple Nodes in a Parallel File System"; and "Data Management Application Programming Interface Failure Recovery in a Parallel File System." All of these related applications are assigned to the assignee of the present patent application and are incorporated herein by reference.
The present invention relates generally to computer file systems, and specifically to implementation of data management applications in parallel file systems.
A wide variety of data management (DM) applications have been developed to supplement the basic file storage and retrieval functions offered by most operating system (OS) kernels. Typical DM applications include hierarchical storage management (also known as data migration) , unattended data backup and recovery, on-line encryption and compression, and directory browsers. These applications, which extend the basic OS kernel functions, are characterized by the need for monitoring and controlling the use of files in ways that ordinary user applications do not require.
In response to this need, the Data Management Interfaces Group (DMIG) was formed by a consortium of UNIX� software vendors to develop a standard Data Management Application Programming Interface (DMAPI). DMAPI provides a consistent, platform-independent interface for DM applications, allowing DM applications to be developed in much the same way as ordinary user applications. By defining a set of standard interface functions to be offered by different OS vendors, DMAPI gives DM software developers the tools they need for monitoring and controlling file use, without requiring them to modify the OS kernel. DMAPI is described in detail in a specification document published by the Open Group (www.opengroup.org), entitled "Systems Management: Data Storage Management (XDSM) API" (Open Group Technical Standard, 1997), which is incorporated herein by reference. This document is available at www.opengroup.org.
As noted in the XDSM specification, one of the basic foundations of DMAPI is "events." In the event paradigm, the OS informs a DM application running in user space whenever a particular, specified event occurs, such as a user application request to read a certain area of a file. The event may be defined (using DMAPI) as "synchronous," in which case the OS will notify the DM application of the event and will wait for its response before proceeding, or as "asynchronous," in which case OS processing continues after notifying the DM application of the event. The area of a file with respect to which certain events are defined is known as a "managed region."
Another fundamental concept in DMAPI is a "token," which is a reference to a state that is associated with a synchronous event message. The state typically includes lists of files affected by the event and DM access rights in force for those files. The token may be passed from thread to thread of the DM application and provides a convenient means for referencing the state. Access rights may either be shared with other processes (in which case they are read-only rights), or they may be exclusive (read-write) rights.
Communications between DM applications and the OS are session-based. The DM application creates the session by an appropriate DMAPI function call (dm_create_sessions( )). The application then registers event dispositions for the session, indicating which event types in a specified file system should be delivered to the session. Multiple sessions may exist simultaneously, and events in a given file system may be delivered to any of these sessions.
The DMAPI standard, having grown out of the needs of UNIX system vendors, is based on the notion of a single system environment, using a single computing node. DMAPI implementations have also been developed for distributed file systems, which allow a user on a client computer connected to a network to access and modify data stored in files on a file server. When a user accesses data on the file server, a copy of the data is stored, or cached, on the client computer, and the user can then read and modify the copy. When the user is finished, the modified data are written back to the file server. Examples of distributed file systems include Sun Microsystems' Network File System (NFS™), Novell Netware™, Microsoft's Distributed File System, and IBM/Transarc's DFS™. Transarc Corporation (Pittsburgh, Pa.) has developed a DMAPI implementation for its DFS called DMEpi. All of these distributed file systems, however, are still essentially single-node systems, in which a particular server controls any given file. The DMAPI and data management applications for such distributed file systems are essentially server functions and are not distributed among the client nodes.
IBM's General Parallel File System (GPFS) is a UNIX-style file system designed for IBM RS/6000 multiprocessor computing platforms, such as the SP™ and HACMP™ systems. GPFS, which runs in the AIX� operating system, allows applications on multiple nodes to share file data, without mediation of a file server as in distributed file systems. GPFS is described, for example, in a publication entitled "General Parallel File System for AIX: Concepts, Planning and Installation," which is available at www.rs6000.ibm.com/resource/aix_resource/sp_books/gpfs. GPFS supports very large file systems and stripes data across multiple disks for higher performance. GPFS is based on a shared disk model that provides low-overhead access to disks not directly attached to the application nodes and uses a distributed locking protocol to provide full data coherence for access from any node. These capabilities are available while allowing high-speed access to the same data from all nodes of the system. GPFS has failure recovery capabilities, allowing applications to continue running even when node or network component failures occur.
A series of patents to Schmuck et al. describe aspects of a shared parallel disk file system that are implemented in GPFS. These patents include U.S. Pat. Nos. 5,893,086; 5,940,838; 5,963,963; 5,987,477; 5,999,976; 6,021,508; 6,023,706; and 6,032,216, all of whose disclosures are incorporated herein by reference.
Preferred embodiments of the present invention provide a DMAPI that is suitable for use in a multi-node, parallel computing environment, and specifically for use with parallel file systems. Implementing DMAPI in a parallel file system, such as the above-mentioned GPFS, requires enhancements to the functions defined in the XDSM standard and alterations in certain basic definitions and assumptions that underlie DMAPI implementations known in the art. The basic semantics and functionality of the standard DMAPI model, however, are preferably preserved in the parallel system. DM application programmers are thus enabled to integrate data migration and other DM applications with the parallel file system in an immediate and straightforward manner.
In preferred embodiments of the present invention, computing nodes in a cluster are mutually linked by a suitable interconnection to a set of one or more block storage devices, typically disks. A parallel file system is configured so that all nodes in the cluster can mount the same set of file system instances. File data and metadata, on multiple logical volumes, may reside at different nodes. All of the volumes are accessible from all of the nodes via a shared disk mechanism, whereby the file data can be accessed in parallel by multiple tasks running on multiple nodes. The enhanced DMAPI provided for the parallel file system is used to support DM functions, such as automatic data migration, over all of the nodes and storage volumes in the cluster.
DM applications may run on substantially any of the nodes in the cluster, as either single-node or multi-node parallel applications. The DM application preferably starts by creating a session on one of the nodes and specifying the DM events that are to be reported to the session. The node on which the session is created is designated as the session node, and all specified events generated by file system operations are reported to the session node, regardless of the node at which the events are generated. Thus, an event may be generated by a file operation on one of the nodes, referred to herein as the source node, and delivered to a session on a different node, i.e., the session node. If the event is a synchronous event, requiring a response from the DM application before the file operation can continue, the source node will wait to carry out the requested file operation until the session node has sent its response back to the source node. In contrast, in DMAPI implementations known in the art all events and sessions take place on a single node.
Certain DMAPI functions require either exclusive or shared DM access rights. These rights are typically controlled using tokens. Preferably, all access rights for a given session are managed by the session node. To simplify event management, only the session node can call DMAPI functions that change the state of the session or event. Other nodes, however, can use DMAPI functions that do not change the session or event state. Thus, non-state-changing DM functions that are I/O-intensive, such as dm_read _invis( ) and dm_write_invis ( ), can run on multiple nodes simultaneously in order to take advantage of the parallelism in the file system.
In some preferred embodiments of the present invention, a locking mechanism is used in order to avoid conflicts in file access among DM applications and between DM applications and file operations. Although parallel file systems known in the art typically use a hierarchy of file locks, these existing locks are inadequate to deal with DM access rights, which may be held across multiple kernel calls and shared among different DM application threads. Therefore, a DM lock is added to the hierarchy of locks in the parallel file system, and is most preferably acquired first by file or DM operations, before acquiring the other locks in the hierarchy.
There is therefore provided, in accordance with a preferred embodiment of the present invention, in a cluster of computing nodes having shared access to one or more volumes of data storage using a parallel file system, a method for managing the data storage, including:
initiating a data management application in the cluster using a data management application programming interface (DMAPI) of the parallel file system;
receiving a request submitted to the parallel file system on one of the nodes to perform an operation on a file in one of the volumes of data storage;
obtaining a data management access right from the DMAPI responsive to the request; and
performing the operation on the file using the access right.
Preferably, initiating the data management application includes creating a session of the data management application on a session node selected from among the nodes in the cluster, and obtaining the data management access right includes obtaining the right at the session node. In a preferred embodiment, initiating the data management application includes initiating a data migration application, so as to free storage space on at least one of the volumes of data storage, and receiving the request includes generating an event responsive to the request, and obtaining the right at the session node includes associating a DM token with the right at the session node for use in invoking a DMAPI function to be applied to the file and associating the token with the event, and performing the operation includes migrating data at a plurality of the nodes simultaneously by presenting the token in connection with the DMAPI function.
Additionally or alternatively, receiving the request includes receiving an invocation of a file operation submitted to the parallel file system by a user application on a source node, and sending a notification of a DM event to the session node responsive to the request, and obtaining the right at the session node includes processing the event at the session node subject to the access right.
In a preferred embodiment, obtaining the data management access right includes acquiring a data management lock on the file, so as to restrict other data management and file operations on the file while the lock is held. In some cases, the operation is a data management operation, and acquiring the data management lock includes holding the lock over a sequence of multiple kernel calls in the parallel file system. In other cases, the operation is a file operation, and acquiring the data management lock includes holding the lock for a single kernel call in the parallel file system. In a preferred embodiment, the file operation is one of a plurality of file operations to be performed on the file, and acquiring the data management lock includes allowing the plurality of file operations to hold respective data management locks simultaneously without mutual conflict. Preferably, acquiring the data management lock may include either acquiring an exclusive lock or acquiring a shared lock.
Preferably, acquiring the data management lock includes selecting the lock from a table of locks provided for both file operations and data management operations. In a preferred embodiment, performing the operation comprises calling a DMAPI function to perform a data management operation, and acquiring the data management lock comprises acquiring, in a course of executing the DMAPI function, one of the locks provided for the file operations for the duration of the DMAPI function, so as to enable calling the DMAPI function without presenting a DM token.
Further preferably, acquiring the data management lock comprises providing the data management lock within a hierarchy of locks supported by the parallel file system.
There is also provided, in accordance with a preferred embodiment of the present invention, computing apparatus, including:
one or more volumes of data storage, arranged to store data; and
a plurality of computing nodes, linked to access the volumes of data storage using a parallel file system, and arranged so as to enable a data management (DM) application to be initiated using a data management application programming interface (DMAPI) of the parallel file system, such that when a request submitted to the parallel file system is received on one of the nodes to perform an operation on a file in one of the volumes of data storage, a data management access right is obtained from the DMAPI responsive to the request, and the operation on the file is performed using the access right.
There is additionally provided, in accordance with a preferred embodiment of the present invention, a computer software product providing a data management application programming interface (DMAPI) for use in a cluster of computing nodes having shared access to one or more volumes of data storage using a parallel file system, the product including a computer-readable medium in which program instructions are stored, which instructions, when read by the computing nodes, cause a data management application to be initiated using the DMAPI, such that when a request submitted to the parallel file system is received on one of the nodes to perform an operation on a file in one of the volumes of data storage, a data management access right is obtained from the DMAPI responsive to the request, and the operation on the file is performed using the access right.
The present invention will be more fully understood from the following detailed description of the preferred embodiments thereof, taken together with the drawings in which:
The following is a non-exhaustive list of technical terms that are used in the present patent application and in the claims. The list is provided here for the convenience of the reader. Certain of the items in the list are specific to preferred embodiments of the present invention. These terms are described at greater length in the Detailed Description following the Glossary.
All nodes 22 in cluster 20 can mount the same file systems. The file data and metadata of the file systems are striped across multiple logical volumes, each of which may reside on a different node 22. All of the volumes are accessible from all of the nodes via a shared disk mechanism, preferably the virtual shared disk (VSD) mechanism used by GPFS. File data can thus be accessed in parallel by multiple tasks on multiple nodes. Parallel access is preferably protected by a byte range lock, as described in the above-mentioned patents by Schmuck et al.
One of nodes 22, is selected to serve as cluster configuration manager (CM) 34. If the CM fails, another node takes its place. The CM performs various global coordination duties in cluster 20. These duties include appointing one of the nodes to serve as file system manager (FSM) 36 for each file system in the cluster. The FSM serves all of the nodes in the cluster that mount the given file system. It is responsible for metadata management, which is used to maintain the file system instances on all of the nodes in a consistent state.
Nodes 22 are capable of running both user applications 30 and data management (DM) applications 32. These applications may be either single-node or parallel, multi-node applications, which take advantage of PFS 28 to access disks 24. A Data Management Application Programming Interface (DMAPI) 26 is preferably integrated into physical file system (PFS) 28. DM applications 32 use DMAPI 26 to track and control file operations and to manage file data of file systems in cluster 20, as described in detail hereinbelow. For this purpose, DMAPI 26 uses mechanisms and infrastructure provided by the PFS, including communication, memory management, locking and synchronization. In a similar vein, configuration manager 34 of PFS 28 also serves as a session manager (SM) for DMAPI 26.
PFS 28 with DMAPI 26 is typically supplied as a software package for installation on cluster 20, with or without a complete operating system, such as AIX. This software may be downloaded to the cluster in electronic form, over a network, for example, or it may alternatively be supplied on tangible media, such as CD-ROM, for installation on the cluster nodes.
In an alternative embodiment of the present invention, not shown in the figures, DM sessions are explicitly replicated on all nodes in the cluster. DM events generated at a source node are then delivered to a session at the source node itself. This embodiment requires that DM applications be defined as multi-node, parallel applications, unlike DM applications known in the art. Each event is handled by the DM application instance on the source node at which it originated, while consistency is maintained among the instances using methods known in the art of parallel applications.
Upon initiation of DM application 32, the application creates a DMAPI session on session node 40. Dispositions 49 of enabled events 46 are maintained on source node 42 and on SM node 44. A list of enabled events can be associated individually with a file and globally with an entire file system. Conflicts between individual and global event lists are preferably resolved in favor of the individual list. Preferably, event lists are persistent and are kept with the file system in stable storage. Dispositions are not persistent and must be set explicitly for each file system after PFS 28 is started and sessions are created.
When user application 30 on source node 42 invokes a file operation that generates an enabled event having a disposition in disposition list 49, DMAPI 26 sends the event to an event queue on session node 40. (Node 42 is referred to as the source node, because it is the source of the generated event in the present example.) When the event is a synchronous event, PFS 28 on the source node waits for the response of the DM application before allowing the file operation to proceed. The process of sending events and responses is described in greater detail hereinbelow with reference to
In practice, multiple DM applications and multiple sessions may run simultaneously in cluster 20. Each session can monitor multiple file systems. At the same time, multiple DM application threads can access the same file in parallel. Moreover, a given file system may be monitored by multiple sessions, created by the same DM application or by different DM applications running concurrently, on the same node or on different nodes. When there are multiple sessions monitoring a given file system, event dispositions are partitioned among the sessions by event type, so that there is no ambiguity as to which session will handle each type of event. On the other hand, multiple sessions can also be used to monitor different, respective file systems.
DM application 32 can set the disposition of events or change the disposition of events in a given file system from one session to another, as noted above, using the DMAPI dm_set_disp( ) function. This call can come from any node at substantially any time. The node initiating the change notifies SM 34, which accordingly updates dispositions 49 in its own, centrally-maintained data structures. The SM sends the changes to the relevant FSM 36, which then sends the information to all nodes on which the file system is mounted. When a new FSM is appointed (at the first mount of a given file system, or after failure of the previous FSM), it obtains the event dispositions form SM 34. When additional nodes mount the file system, they obtain the dispositions from the relevant FSM. This approach guarantees that the FSM and all nodes mounting the file system will always have the most current event dispositions, while maintaining efficiency of communications by disseminating information only to the nodes for which it is relevant.
SM 34 is responsible for coordinating among the session nodes, in order to ensure that all session identifiers (IDs) are unique and that event disposition partitioning is consistent. All nodes 22 in cluster 20 know the identity of the session manager.
A new session is created by invoking the DMAPI function dm_create_session( ) on the session node, which then sends a message to SM 34. The SM generates a session ID, adds the session to its list of all sessions in the cluster, broadcasts the session details to all nodes in the cluster, and returns the session ID to the session node. The session becomes valid only after session node 40 and SM 44 complete all of these messages. Session IDs are preferably unique over time in the cluster, most preferably consisting of a time stamp and the node ID of SM 34. The use of globally-unique session IDs, which are never reused, prevents naming consistency problems in the multinode environment.
A new session node assumes an existing session by invoking dm_create_session( ), specifying the existing session ID. DMAPI 26 sends the ID to SM 34, which updates the session details in its list. An existing session will be assumed in this manner only after a session node failure, as described below. The session ID does not change when an existing session is assumed. dm_create_session( ) can also be used to modify the session information string of an existing session. This call can be made only on the session node.
A session can register (or unregister) to receive an event when a file system is mounted on one of nodes 22 by calling the DMAPI function dm_set_disp( ) on the session node. DMAPI 26 informs SM 34, and the SM keeps track of the sessions that are registered for the mount event. When a node performs a mount operation, it obtains from the SM a list of sessions that are registered for the mount event.
A session may be destroyed by invoking the DMAPI function dm_destroy_session( ) on session node 40. In this case, the session node sends a message to SM 34, which removes the session from its list and broadcasts the change to all nodes.
For efficient event generation and recovery from PFS failure, the session and event information is replicated on multiple nodes in cluster 20. Preferably, as shown in
SM 34 is responsible for disseminating changes in session details. When the SM is notified of a change in the state of one of the sessions, it broadcasts the change to all of the nodes in the cluster.
Replication of the session information and event dispositions on multiple nodes allows DMAPI events to be generated efficiently, without repeatedly communicating session and disposition information between nodes. It also supports efficient recovery from single node failure without the necessity of using stable storage. Methods for handling session failures in system 20 are described hereinbelow with reference to
Event generation is preferably implemented in the virtual file system (VFS) interface layer of PFS 28. The definition of the VFS layer and its interaction with the PFS are well known in the art of UNIX-type operating systems, including the above-mentioned IBM AIX operating system. The integration of DMAPI 26 with PFS 28 includes augmenting the file operations in the PFS with code for event generation. In an event generation step 52, this code causes the file operation client thread invoked at step 50 to generate the prescribed event. If the event is an asynchronous event, PFS 28 on source node 42 sends an appropriate event message to the session on session node 40, and the requested file operation is then immediately free to proceed on source node 42. In the example shown in
PFS 28 on source node 42 sends an event message to PFS 28 on session node 40, in accordance with the specified event disposition, at an event sending step 54. The event message header preferably carries a field, ev_nodeid, which is added to the dm_eventmsg structure defined in the above-mentioned XDSM specification in order to identify source node 42 (since events can be generated at any node in cluster 20). In implementations based on GPFS in the SP environment, the node identifier is preferably its System Data Repository (SDR) node number. The event message is enqueued at session node 42.
DM application 32 on session node 40 receives and handles the event sent by PFS 28, at an event handling step 56. For this purpose, the DM application makes use of function calls provided by DMAPI 26, such as dm_get_events( ), as specified by the XDSM standard. These function calls are implemented as kernel calls from the user space of the DM application into PFS 28, based on linking the DM application with an interface library of DMAPI function calls, as is known in the art. DM function calls enter the PFS kernel on the DM application thread. The processing may involve additional PFS daemon threads, and may proceed both in user and kernel space.
After DM application 32 has processed the event, it generates its response to the event, at a response step 58, using the DMAPI function call dm_respond_event( ). Session node 40 sends the response back to source node 42, at a response sending step 60. The PFS on node 42 passes the event response to the file operation thread, at a response reception step 62. If the response indicates that the operation should be aborted, the file operation returns to user application 30 without further PFS processing; otherwise, the file operation continues its PFS processing until completion, at a continuation or aborting step 64.
PFS 28 generates a mount event each time a mount operation is performed on one of the nodes in cluster 20. Similarly, each unmount operation on any node generates preunmount and unmount events, assuming such events are enabled and have a disposition. DM application 32 should therefore be capable of handling multiple mount, preunmount and unmount events, corresponding to multiple instances of the file system that are mounted on multiple nodes. By contrast, in single-node systems, as implied by the XDSM standard, DM applications are not required to deal with more than a single mount, preunmount or unmount event per file system. As a result, in single-node systems, the preunmount and unmount events always follow the mount event in serial order.
In PFS 28, on the other hand, there is not a predictable serial relationship between all of the mount, preunmount and unmount events of each file system. Without serialization of all mount and unmount operations of the file system, there is no practical way to designate the first or last mount or unmount. There need not even be a match between the number of mount events and the number of preunmount or unmount events for a given file system, since an unmount that is initiated internally by PFS 28 (due to forced unmount or PFS shutdown, for example) will not generate any events. Therefore, DMAPI 26 requires methods for handling mount, preunmount and unmount events that extend those provided by the XDSM standard.
To provide additional information to DM application 32, two new flags, DM_LOCAL_MOUNT and DM_REMOTE_MOUNT, not defined in the XDSM standard, are preferably added to the mode fields in the message structures of mount, preunmount and unmount events (the me_mode and ne_mode fields, respectively) . When DM_LOCAL_MOUNT is set, the mount or unmount operation concerned is local to the session node. When DM_REMOTE_MOUNT is set, the operation is at a node that is remote from the session node. In this case, the ev_nodeid field mentioned above can be used by the session node to identify the source node on which the mount or unmount operation is to be performed. These flags are also used in the dm_mount_event data structure returned by the DMAPI function dm_get_mountinfo( ). This function can be called from any node, even if the file system is not mounted on that node. At least one of the two flags will be set in the data structure that is returned, as long as the file system is mounted on one or more of the nodes in cluster 20.
DM application 32 can make good use of the enhanced node information provided by the dm_get_mountinfo( ) function for processing of mount and preunmount events. For example, before the DM application responds to a mount event received from a node that is not the session node, it can invoke dm_get_mountinfo( ) to determine whether the relevant file system is already mounted locally at the session node. If not, the DM application preferably performs a local mount.
Mount events are preferably enqueued in the session queue ahead of other events, in order to improve the response time of PFS 28 to mount operations when the queue is busy.
DMAPI 26 checks whether the unmount operation is a forced unmount, at a force checking step 76. In such a case, any outstanding access rights for the relevant file system on source node 42 are released, at a cleanup step 78. DMAPI 26 then permits the unmount to proceed, at an unmounting step 80.
On the other hand, if the unmount is not a forced unmount, DMAPI 26 checks whether it has received an "abort" response from session node 40, at an abort checking step 82. If so, the unmount operation is failed. Similarly, the unmount is failed if there are still DM access rights to the file system on source node 42, at an access right checking step 84. In either of these cases, an error code is set for the unmount operation on node 42, at an error step 86. Only if there are no outstanding access rights on node 42 can the unmount proceed normally at step 80.
Whether the unmount was performed successfully (step 80) or not (step 86), DMAPI 26 generates an unmount event and waits for a response, at an unmount event generation step 88. After receiving the response, any error code that was set at step 86 is returned by the unmount operation, at an error return step 89.
DM applications acquire DM access rights to file objects and associate them with event tokens. DM access rights are required in some of the DMAPI functions specified in the XDSM standard (which are implemented in the multi-node environment by the present invention). In order to avoid overhead that would be incurred by managing access rights distributively in the cluster setting, all of the access rights associated with a given event are preferably managed by the corresponding session node. Thus, all requests to acquire, change, query or release DM access rights must be invoked by the DM application on session node 40.
File operations must abide by DM access rights. In particular, file operations that conflict with DM access rights must be blocked while the access is held by the DM application. Conversely, the DM application must be prevented from acquiring an access right while a conflicting file operation is in progress. Preferably, these access rights are implemented using the internal locking mechanisms of PFS 28, such as the GPFS locking mechanisms described in the above-mentioned patents by Schmuck et al.
DM access rights in cluster 20 are preferably treated as an additional file lock in the hierarchy of locks acquired during file access. This approach enables acquiring and releasing access rights efficiently, using existing, highly-optimized locking mechanisms of the PFS. This additional lock is referred to herein as the "DM lock." The lock characteristics are affected by the type of access (shared or exclusive) and the type of thread acquiring the lock (file operation thread or data management operation thread). Existing file locks (such as those described by Schmuck et al.) cannot be used for this purpose, since DM access rights are held across multiple kernel calls and can be shared among DM application threads without going through the kernel. The existing file locks are still required to synchronize access to file data, even while a DM access right is held. Preferably, to prevent deadlocks, the DM lock is acquired before any other locks in the file locking hierarchy.
Table I below is a lock conflict table that defines DM access rights semantics in cluster 20. Four lock modes are used:
DMX and DMS modes are used only in DM operations. They provide exclusive and shared access rights, respectively, for each individual DM operation, as defined by the XDSM standard.
FSX and FSS modes are used in file operations, in order to prevent DM applications from acquiring a DM access right while a conflicting file operation is in progress. FSX prevents acquisition of any DM access rights. FSS prevents acquisition of exclusive DM access rights, but does not conflict with shared DM access rights. Typically, a file operation that modifies the data in a file object or destroys the object will acquire a FSX lock, whereas a FSS lock will suffice for other file operations. There is no conflict between the FSX and FSS modes, because file operations never compete with one another for DM locks. This feature is important in reducing the performance impact of the additional DM lock in parallel file systems, since locking conflicts in such systems are resolved by communication among multiple nodes.
In the GPFS parallel file system, as described by Schmuck et al., file locking is implemented using a token manager, which grants lock tokens to nodes upon request and revokes them when other nodes make conflicting requests. For the DM lock, after the token manager grants a FSX or FSS token to a node, there will be no need to revoke the token until a DM application requests a DM lock on the file. For files being used actively by a user application, interference by typical DM applications is generally expected to be minimal. The added overhead in normal file operations that is associated with DM lock acquisitions and revocations should therefore be small.
While a file operation holds its DM lock only for the duration of the operation (a single kernel call), a DM application can hold its DM lock across many DMAPI function calls (multiple kernel calls). This continuous holding of the DM lock is achieved by associating the access right in question with an event token, which can be presented in subsequent DMAPI calls.
DMAPI functions can be invoked without presenting a DM token (DM_NO_TOKEN), in which case DM access rights are acquired only for the duration of the given DMAPI function. For this purpose, a FSS or FSX lock is sufficient, instead of the more restrictive DMS or DSM lock. The tokenless DMAPI call thus uses the same type of DM locking as do regular file operations.
In preferred embodiments of the present invention, in the multi-node environment of cluster 20, DMAPI functions can be called from any of the nodes in the cluster. Functions that do not change the state of a session or event can be invoked freely at any node, in order to enable DM applications to exploit the inherent parallelism of the PFS. dm_punch_hole( ) and dm_read_invis( ) are examples of such non-state-changing DMAPI functions. On the other hand, DMAPI functions that change the state of a session or event must be invoked on the session node.
If the node invoking the function call is not the session node for this session, DMAPI 26 determines whether this function changes the state of the DM event or session (as specified by the XDSM standard), at a state change determination step 96. If so, the requested function is failed, and DMAPI 26 returns an error to DM application 32, at a failure step 98.
On the other hand, if this is not the session node, and the DMAPI function does not change the current event or session state, the call proceeds in step 100 as long as the session exists on some node, and the required event token is presented. Optionally, the DM application on the requesting node caches a copy of the token.
The failure model defined in the XDSM standard is geared to a single-node system, in which two types of DMAPI-related failures may occur: DM application failure or total PFS failure. When only the DM application fails, DMAPI resources, such as sessions and events, remain intact. As a result, file systems may become unstable, since there may be pending events and blocked user threads, waiting for response by the DM application. To deal with this situation, the DM application must restart and pick up any existing session where it left off. For this purpose, the XDSM standard provides DMAPI functions that enable the restarted DM application to query the session queue and handle any pending events.
Recovery from total PFS failure is a matter for the PFS to handle and is beyond the scope of the XDSM standard. When the PFS fails, all non-persistent DMAPI resources are lost. The PFS is expected to clean up its own state when it is restarted. The DM application can then restart as well. Since sessions are not persistent, there is no need in this case for session recovery.
These two models do not describe all of the possible types of failure that may occur in a multi-node parallel file system, as is used in preferred embodiments of the present invention. The multi-node system should also be capable of dealing with single-node failures, in which a file system instance or the PFS may fail on one or more of the nodes, while continuing to work run on the others. In such a case, DMAPI 26 should also continue to operate and enable file access on the surviving nodes, while the PFS recovers on the failed nodes. A distributed DM application may likewise continue running on some nodes, while other nodes (possibly including the session node for the DM application) have failed and are in the process of recovery.
Single-node failure may occur in the multi-node system either when a specific file system becomes inaccessible on the node or when the entire PFS fails on the node. In the latter case, all file system instances that are managed by the PFS become inaccessible on that node. Handling of and recovery from a single node failure depend on whether the failed node is a source node or a session node. When source node 42 fails (
Session node failures are more difficult to handle. When a session node fails, all DMAPI resources, including all sessions, are lost on the failing node, although not on other, surviving nodes. File operations on the surviving nodes may still be blocked, however, waiting for response from an event previously sent to a failed session. It is therefore important to recover the session, possibly on another node, and to resume handling of pending events, so that file operations on the surviving nodes will be able to continue without failure.
Session failure is detected at a session failure step 110, preferably by a "heartbeat" or group service that checks connectivity in cluster 20, as is known in the art. Session manager (SM) 34 plays an important role during session recovery. When session node 40 fails, SM 34 is notified, at a notification step 112. The SM marks the session as failed, but keeps all of the session details.
Recovery following the session failure is triggered by DM application 32, at a triggering step 114. There are two ways of triggering session recovery, depending on whether the DM application itself has also failed, or only the PFS has failed:
Calling dm_create_session( ) and supplying the session ID (explicit recovery) or calling any DMAPI function for the session (implicit recovery) causes DMAPI 26 on the new session node to contact SM 34, at a contact step 116. The SM records the new session node and session information string, if any, and changes the session state from failed to valid. It broadcasts the updated session details to all nodes, at a broadcast step 118.
While recovering the session, it is necessary to reconstruct the session queue at the new session node. Preferably, in order to reconstruct the session queue, session node 40 broadcasts a request to all of the nodes in cluster 20, at a request step 119. Upon receiving this request, the surviving nodes resubmit any pending synchronous events they may have to the new session node, at a resubmission step 120. This step causes the event tokens to be regenerated with the same IDs as they had before the failure. Certain events may not be recoverable by DMAPI 26 following a session failure. Asynchronous events are lost with no harm done. Events that originated from the failed session node, including user events, cannot be recovered by the resubmission mechanism described above.
Session failure results in the loss of resources associated with the events in the session queue, including DM access rights. These resources are not recovered simply by resubmitting the events. As a result, DMAPI functions may fail after session recovery due to invalid DM access rights. Furthermore, DMAPI 26 cannot determine after recovery which events were already being handled by the DM application prior to the failure, nor can it guarantee that none of the files in question were accessed or modified before the failure. All events resubmitted after a failure revert to the initial (non-outstanding) state. Similarly, when only a file system instance fails at the session node, all DM access rights for files in the file system are lost, although the events and tokens remain. After the file system instance is remounted, the DM application must reacquire the access rights. There is no guarantee that objects have not been modified while the access rights were not held. Therefore, DM application 32 should be written so as to recover consistently from the loss of DM access rights, notwithstanding the associated loss of information. For example, the DM application could be programmed to keep its own state of events in progress or to implement an appropriate consistency protocol, as is known in the art.
It is desirable to provide mechanisms that will speed up recovery from a session failure and will prevent indefinite blocking of user applications. Preferably, if a failed session does not recover after a predetermined lapse of time, pending events are aborted at source node 42, and file operations associated with the events are failed. User applications 30 can then retry the failed operations as appropriate.
It may also occur that SM 34 fails, in which case a new SM is appointed. The new SM must recover all of the information that was maintained by the previous SM. For this purpose, the new SM preferably broadcasts a request to all nodes for session information. Each node responds by sending the SM a list of all the sessions existing on that node and the event dispositions for all the file systems that are mounted at the node. The new SM uses this information to rebuild the collective session and disposition information.
The only information that may not be fully recovered in this manner is concerning sessions that existed on the failed SM node. As indicated above, each node preferably keeps partial information on every session. Most of the missing information can therefore be retrieved locally at the new SM node, from the list of all sessions that was maintained at that node. The only unrecoverable information regarding sessions that existed on the failed SM node is the session information string. As noted above, typically only a prefix of this string is maintained on nodes other than the session node itself.
The new SM reconstructs event dispositions based on information that it receives from the file system managers (FSMs) 36 in cluster 20. If a FSM has failed, the corresponding information is recovered from one of the other nodes that mounted the file system in question. If all of the nodes that mounted the file system have failed, however, the dispositions are lost, and new dispositions for the file system will have to be set when the file system is mounted on some node.
After reconstructing the dispositions, the new SM must make sure that the information it now has is consistent with all of the nodes. For this purpose, the SM sends its reconstructed dispositions to the FSMs, which in turn send it to all the nodes that have mounted corresponding file system instances. If some file system has no FSM (typically due to FSM failure), the dispositions are held at the SM and are sent to the new FSM when one is appointed.
Although preferred embodiments are described hereinabove with reference to a particular configuration of cluster 20 and parallel file system 28, it will be appreciated that the principles embodied in DMAPI 26 are similarly applicable in other parallel file system environments, as well. It will thus be understood that the preferred embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and subcombinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.
Patent Citations
Non-Patent Citations
Referenced by
Legal Events
Original Image


text:
Letter to the Editor: Rush to judgment
B. J. Walker, Wichita Falls
Rush to judgment
Here we go again. I declare, I am convinced that when God was handing out brains, people thought He said "rain" and they ran!!
The tragedy in Colorado was a horrible, horrible thing. It took way too many people away from this life, injuring many more. Were they killed or injured by a gun? No. They were killed and injured by an idiot using one. However, right away, there was a big uprising for massive gun control laws, most people wanting them to be totally outlawed so no one could even get one.
Going on the logic that because guns kill so many people and therefore should not be allowed — here are some statistics I researched some statistics:
This is a report that had been updated on 7/13/12 ( I forgot to write down who did the report. Sorry. Googled) — number of deaths attributed to: alcohol — 85,000, traffic — 43,000, firearms —29,000 (includes homicide, suicide, accidents).
So, again with the logic mentioned above, alcohol and vehicles should be done away with because they cause more deaths than guns.
Any of you folks on "We Need Gun Control" bandwagon want to give up these things to promote a safer place to live? Yeah, I didn't think so.
A different report that I saw listed firearm deaths and violent deaths for the USA by state. Guess who had the top numbers in both of those? District of Colombia. Firearms was WAY higher than other states. Hmm, maybe it is D.C. we need to outlaw.
Subscribe to the Times Record News
Need Help? Call us at 1-877-710-6181.
Monday-Friday: 5:30am-8pm / Saturday: 6am-1pm / Sunday: 6am-1pm

subset: commoncrawl


text:
Best of Technical Support
Fixing Swap When Moving a Drive
I am using Red Hat 9 on an HP Brio (PIII,
20GB and 192MB of RAM). I first installed Linux when my
hard drive was a primary slave. Later I changed
it to primary master. I am using a boot disk to
boot in to Linux, but when I try to boot in to the
system, I get an error that the swap partition was
not initialized. The kernel could detect changes
to my root and boot, but it was unable to in the
case of swap partition.
How can I change the swap partition dynamically? In other words, what parameter
should I pass to the kernel before booting so as to specify my swap at
the command line? Also, can I use the same boot disk to boot on other systems
with different partition allocations, as with Windows startup disks?
Aman Hardikar
This is easy to explain; Linux is looking for the swap partition on one device (the primary slave), probably named /deb/hdbX, X being the partition number, and it happens that it now resides on the primary master disk, which probably is /dev/hdaX. Therefore, Linux can't find the designated swap partition and is unable to initialize it. To fix this, edit your /etc/fstab file and change the device on the line that has the swap entry. It may be something like:
/dev/hdb2 swap swap defaults 0 0
So, change it to:
/dev/hda2 swap swap defaults 0 0
In this example, the swap partition is number 2 on the disks.
Then, reboot your system, and it should work fine. An alternate way to reboot
would be to start the swap partition manually with the command
swapon -a -e, after editing the /etc/fstab file as indicated above.
Felipe Barousse Boué
Serial ATA Support?
I intend to install SuSE 8.2 and want to know if I can
install it on a Serial ATA hard drive.
Daniel Gustafsson
Serial ATA hard drives are supported by Linux
(including the SuSE 8.2 distribution's stock kernel
version 2.4.19). This will be obvious, but
as always, first you must check that the BIOS
and/or disk controller hardware of your system
does support Serial ATA hard drives.
Felipe Barousse Boué
As usual, the first question is, does your BIOS
support booting from your serial ATA interfaces?
If your BIOS doesn't support booting from this
controller, you might be able to install Linux to
boot from some other device.
Jim Dennis
You can look up your hardware on SuSE's component
database at hardwaredb.suse.de. Other Linux
distributions also maintain their own hardware
compatibility lists.
Although something technically might be supported
in the kernel version that your distribution
ships, it's best to check your distribution's
hardware compatibility list before you go hardware
shopping. Items on the list are more likely to be
detected by the installer automatically, and your
distribution is more likely to include up-to-date
utilities with support for items on the list.
Don Marti
Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers
Sponsored by IBM
Scheduling Crontabs With an Enterprise Scheduler
On Demand
Moderated by Linux Journal Contributor Mike Diehl
Sponsored by Skybot
Trending Topics
Webinar: 8 Signs You're Beyond Cron
On Demand NOW
Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you'll learn about integrating cron with an enterprise scheduler.View Now!
|My Humble Little Game Collection
|May 28, 2015
|New Linux Based OS Brings Internet of Things Closer to Reality
|May 27, 2015
|Non-Linux FOSS: All the Bitcoin, None of the Bloat
|May 26, 2015
|Dr Hjkl on the Command Line
|May 21, 2015
|Initializing and Managing Services in Linux: Past, Present and Future
|May 20, 2015
|Goodbye, Pi. Hello, C.H.I.P.
|May 18, 2015
- New Linux Based OS Brings Internet of Things Closer to Reality
- Dr Hjkl on the Command Line
- Initializing and Managing Services in Linux: Past, Present and Future
- Non-Linux FOSS: All the Bitcoin, None of the Bloat
- Using Hiera with Puppet
- Gartner Dubs DivvyCloud Cool Cloud Management Vendor
- Infinite BusyBox with systemd
- Goodbye, Pi. Hello, C.H.I.P.
- It's Easier to Ask Forgiveness...
- My Humble Little Game Collection


text:
This product is no longer available.
Click here to view similar products
Click here to continue and view the original page
The Mavic C29ssmax Rear Wheel is the legendary Crossmax mountain performance, now in a 29inch wheel. The C29ssmax uses specific 29inch ISM technology to deliver the lowest inertia of any 29inch wheel on the market…
The Mavic C29ssmax Rear Wheel is the legendary Crossmax mountain performance, now in a 29inch wheel. The C29ssmax uses specific 29inch ISM technology to deliver the lowest inertia of any 29inch wheel on the market while maintaining Crossmax stiffness and durability. Please note that only one wheel is supplied not two as pictured.
- Hub Shell:
Oversize Aluminium
- Freewheel:
FTS-X, steel, HG 8/9 speed
- Rim:
Maxtal, black anodised, Disc brake specific, UST
- Spokes:
Zicral, 24 Isopulse
- Axle:
Aluminium 9 × 135
- Bearings:
- Skewer:
BX601 quick release
- Weight:
- Notes:
Rear Wheel Only
Customer Reviews
|Product no longer available for purchase
We offer a range of delivery services for our UK and International customers. UK Customers can select our FREE standard delivery option on most non bike orders over £20. Or if you're in a hurry you can upgrade to our Next Day, Saturday or Sunday delivery services. You can also use our free Click & Collect service, where you can collect your purchases from a choice of over 50 Evans Cycles stores. International customers can benefit from FREE delivery on most orders and save UK VAT if we are shipping outside of the EU.
Bike build & delivery
UK bike delivery charge includes assembly by our fully trained mechanics, pre-delivery inspection and safety check, packing in our custom bike box, multi-tool and delivery from only £9.99 per bike.Click here to see how we deliver your bike
Standard, Next Day, Saturday & Sunday UK delivery
We offer a FREE standard delivery service on orders over £20, as well as Next Day, Saturday & Sunday delivery options to UK addresses. Click here for more details
Click & Collect
Using our Click & Collect service your order will be delivered to a choice of over 50 Evans Cycles stores nationwide for collection. This service is FREE of charge for all orders. To check store stock and collection times, use the "Check store stock" button above. Click here for more details
International delivery (Incl BFPO, ROI, Channel Island & Isle of Man)
We offer a FREE delivery service on most International orders. Orders delivered outside the EU are exempt from VAT. To calculate the charges for your order simply add products to your basket and proceed through the checkout process, where you will need to enter your delivery details. Our website will present you with the relevant delivery options and the charges for your basket of goods. Click here for more details.
Easy Returns
Our priority is to ensure that you are highly satisfied with your purchase. In the unlikely event that you are not, please feel free to return your goods within 90 days of the purchase date for a full exchange or refund. Returns can be made in your local store or sent back to our distribution centre.


text: Even with a nearly all new cast (up to this point at least), the show hasn't seemed to lose a step. The two night, four hour season premiere really drew me in and got me hooked on a new "day" already! The best part...20 consecutive weeks to go with no interruptions!


text:
Michigan City, Indiana
From Ballotpedia
Revision as of 11:40, 9 April 2013 by Kristinpedia (Talk | contribs)
|Elected Officials
|Administrative Officials
|Permits, zoning
|Public Records
|Local Taxes
|Transparency grading process
Website Evaluation
See also: Evaluation of Indiana city websites
This website was most recently reviewed April 9, 2013.
The Good
- Elected Officials
- Contact information for elected officials is posted. [1]
- Meetings
- Administration
- Contact information for administration officials is posted on department pages. [6]
- Permits and Zoning
The Bad
- Budget
- Most recent budget report is dated 2002. [10]
- Current budget is not posted.
- Budgets are not archived for more than three years.
- Audit
- Annual financial audits are not posted.
- Audits are not archived for at least three years.
- Contracts
- Information on open and awarded bids are not posted.
- Taxes
- Information on local tax rates, including property tax levies and local sales taxes, are not posted.
- Lobbying
- The city does not disclose membership in any organization that lobbies on its behalf, nor any fees that are paid to belong to any organization.
- Information on whether or not the city contracts with a private lobbyist is not disclosed.
- Public Records
- Information on how to file a public records request, including name of contact and any associated fees, is not posted.


text:
Special Correspondent
Ready for "comprehensive nuclear cooperation" with India: Ambassador
"We believe India has the capability and the right to reprocess spent fuel"
France developing a new generation of nuclear reactors
New Delhi: Even as controversy continues to bedevil the terms of India's proposed bilateral nuclear commerce with the United States, France stepped forward Friday to declare it was ready and open to engage in "comprehensive nuclear cooperation" with the Indian side.
Unlike the U.S., which does not wish to make binding commitments on fuel supply or grant irrevocable reprocessing rights to India, France has made it clear that the provision of fuel for any reactors it sells as well as reprocessing are not issues. "We believe India has the capability and the right to reprocess spent fuel," French Ambassador Jerome Bonnafont told reporters here.
But in line with the apparent political commitment India has made to not ink deals with other suppliers until the '123 agreement' with the U.S. passes through Congress, the ambassador was unwilling to say when the framework agreement for bilateral nuclear cooperation initialled during the visit to Delhi by President Nikolas Sarkozy this January would finally be signed. "We have to complete some procedures for it to be signed and we are presently discussing with India this issue in terms of timing."
Prime Minister Manmohan Singh will be in Marseilles on September 29 for the India-European Union summit and in Paris on September 30 for a bilateral summit with Mr. Sarkozy. But it is far from clear whether India will be ready to sign its agreement by then.
Asked what these "procedures" — whose completion was holding up the actual signing — were, Mr. Bonnafont gave, as an example, the preparation of "an official Hindi translation" of the Indo-French draft agreement. (Indian officials say a Hindi translation is needed because the English original has also been translated into French. A second procedure to be completed, they say, involves France securing clearance for the agreement from Euratom).
The ambassador said the passage of the Indian waiver at the Nuclear Suppliers Group last week marked the culmination of a process that "[France] had initiated in a way" when Jacques Chirac, who was the French President at the time, came to India in 1998 and suggested "a special status needed to be created" for India to enable it to access nuclear supplies from abroad.
France has a "specificity in the world" as far as the capability of its nuclear industry was concerned, he said, and its national company, Areva, was currently developing a new generation of nuclear reactors - the EPR.
"This new generation will be proposed to India", he said, adding that France envisaged cooperation in four distinct areas: scientific collaboration and research, training, safety and industrial collaboration.
Including Areva, there were 35 French companies which were looking to get involved in different aspects of the nuclear power generation sector in India, the ambassador said.
France currently has 58 nuclear power plants in operation which collectively generate 80 per cent of the country's electricity production.


text:
By Christian Viveros-Fauné
Bridget Everett Whacks Rock Bottom at Joe's Pub
By Miriam Felton-Dansky
The Valley of Astonishment Will Leave You...Astonished
By Tom Sellar
By Tom Sellar
By Jessica Dawson
In September, Site-Specific Theater Rules the Day
By Tom Sellar
How Chuck Jones Defined America Through Cartoons
By R. C. Baker
Between Riverside and Crazy Bares Its Wounds
By Tom Sellar
Lee Ufan: Marking Infinity
June 24September 28
A rotunda-filling exhibition of works on paper, paintings, sculptures, and installations of the less is more variety, Lees exhibition is the first U.S. retrospective of a longtime advocate of the de-Westernization and de-modernization of contemporary art. Featuring 90 works by this Korean-born, Japanese master of absence, the show constitutes a tailor-made Buddhist tutorial for narcissistic New York artists, championing a realm of infinity where one can continuously bring ones self back to nothingness. Guggenheim Museum, 1071 Fifth Avenue, guggenheim.org
Under Destruction, Chapter III
June 29August 7
The final chapter in a three-part exhibition that examines the role of destruction in contemporary art, this group exhibition takes as its north star Swiss artist Jean Tinguelys spectacularly self-annihilating Homage to New York (1960). Made up of a series of cataclysmic updates as articulated by artists Alexander Gutke, Kris Martin, Jonathan Schipper, Ariel Schlessinger, and Roman Signer, the works on view connect to much recent natural and man-made violenceMartins piece 100 Years, for example, consists of a bomb set to detonate in the year 2014. Swiss Institute, 495 Broadway, swissinstitute.net
July 14September 25
This survey devoted to Eastern Europe and the former Soviet Socialist Republics maytogether with the recent Gustav Metzger showregain the New Museum much of the goodwill squandered previously on youthennials and trophy art. Titled after the German word ostalgie, a Mitteleuropean term that describes nostalgia for the certainties of the Communist Bloc, the exhibition examines contemporary arts unfolding relationship with human history. Including works by artists Tacita Dean, Miroslaw Balka, Roman Ondák, and 50 others, it should easily be the smartest show of the summer. The New Museum of Contemporary Art, 235 Bowery, newmuseum.org
Summer Guide 2011
Theater: Lisa D'Amour's Motor City Bayou
Books: Don't Shrug This Atlas--The Real State of America Atlas, That Is
Film: Bellflower's Muscle-Car Mayhem Shifts the Summer Into High Gear
Dining: Eat the Phreak
Music: Don't Take Brad Paisley to the Airport Strip Club
Dance: The Ballet Nacional of Cuba Steps Into BAM
Lyonel Feininger: At the Edge of the World
June 30October 16
This is the first full-fledged, U.S.-based retrospective of a native New York artist who was also a European Johnny-on-the-spot. From his early days in Germany, where he moved when he was 16, to his forced wartime repatriation, Feininger remained a polyvalent creator intimately connected to the dynamism that defined modern art. Marching through his involvement with Cubism, German Expressionism, the Bauhaus, and Black Mountain College, the show also examines Feiningers relationship to comics, photography, sculpture, and music. The Whitney Museum, 945 Madison Avenue, whitney.org
Talk to Me
July 24November 7
I am a good listener, just ask my TVthis and other uncomfortable punch lines may pop up as you peruse this show of technology and design that literally addresses the convenient marriage between our gadgets and ourselves. Featuring computer and machine interfaces, video games, websites, installations, immersive environments, and sundry tools and products, this exhibition relates what our gateways and interpretersread: cell phones and computerstell us, even when were busy ignoring them. Museum of Modern Art, 11 West 53rd Street, moma.org
Sponsor Content


text:
Cheap RDU to Noatak flights
Popular Flights from Raleigh, North Carolina
Top Raleigh Flights to US Destinations
Top Raleigh International Destinations
Popular Flights from Noatak, Alaska
Top Noatak Flights to US Destinations
RDU to WTK Route Map
Raleigh to Noatak Flights, Stats and Airplanes
Route information for flights from Raleigh Durham Intl. to Noatak AK.
3,802.65 miles
RDU - Raleigh Durham Intl. Airlines
Browse the most popular airlines servicing the Raleigh (RDU) airport. Visit their flights pages to learn more about the most popular routes these carriers fly.


text:
Shumway Apartments600 W 3rd St Apt 3b, Taylorville, IL 62568 View On Map (217) 824-9363
For rates, availability, and other information fill out the availability request form and a representative from Shumway Apartments will contact you shortly
Shumway Apartments is located in the Decatur Area in the 62568 zip code. View this apartment on a map.
Back to Top
Maps & Directions
click to view interactive map


text:
Multiple websites on Magento 1.4 single installation
This is an old revision of the document!
There are many ways multiple stores can be implemented. it could be:
- subdomains in different document roots,
- subdomains in same document root,
- subfolders,
- folder aliases,
- etc.
To make it the most flexible we have made so the user will decide on the logic of which store will be launched from specific location.
All the logic should be done from index.php that is being ran.
As you can see in default index.php we have:
- Mage::run('base');
That means that 'base' store will be invoked.
In the demo download package we have multiple stores defined by subfolder they're in.
For example German store is in /de/index.php:
- Mage::run('german');
If you have same index.php serves as entry point for few stores, the store code will have to be calculated from environment, for example host name:
- $host = explode(':', $_SERVER['HTTP_HOST']);
- switch ($host[0]) {
- case 'german.example.com':
- $store = 'german';
- break;
- default:
- $store = 'base';
- }
- Mage::run($store);
Please note that .htaccess should be copied to every folder index.php is in.


text:
Quick System Info PRE
1,000 - 5,000 downloadsAdd this app to your lists
+ By Shawn Q.
This is the paid version of Quick System Info PRO, the same functionality, NO AD.
* Live CPU/MEM Usage Monitor
* Live 2G/3G/Wi-Fi Traffic Monitor
* Comprehensive Device/Hardware Details Viewer, e.g. Storage/Memory/Processor/Sensor/Network
* One-click Application Cache Cleaner
* Application History Cleaner
* Advanced System Properties Viewer, e.g. System/Phone/Screen/OpenGL/Build and Runtime Settings
* Enhanced Application Viewer with Tag and Backup/Restore support
* Enhanced Process Management and Viewer
* Enhanced Network Connection and Traffic Viewer
* Enhanced Battery Status in Notification Area.
** The 'read/write bookmark' permission is needed for the 'Clean History' function only **
* Please search for "Quick System Info NL Pack" to install your desired language support, and be sure to change the app language setting to make it effective *
Tags: quick system info pre, quick system info pre 2.1.1, скачать quick system info pre, zoom pre, quick system info pre shawn q..
* Please search for "Quick System Info NL Pack" to install extra language support, and be sure to change the app language setting to make it effective *
* Show Android code name aside SDK version in Properties view
* Bug fixing
(53 stars)
Would not know what to do with out it. finially purchased it. thanks so much dev.
(53 stars)
This Dev has a long history of publishing High Quality apps.
(53 stars)
Great work. Love this app. Paid for it just to support and encourage the dev to continue working on it.
(53 stars)
Does it all. Stays up to date.
(53 stars)
I was an "early adopter" to Android, aka a geek who's generally aware which of the hundreds of "thank god someone's finally thought to make..." a sys info util in this case were the good, original in some cases, ones that've since been blatantly plagiarized.. this is a textbook app dating back to the stone age that's always found its' way onto my phones, remained updated and definitely warrants co
(53 stars)
Support is of the same quality.
(53 stars)
I've used this app for years and decided it was high time I supported the dev on his very informative app that I use DAILY. my favorite features are the ability to back up apps, so when another dev updates an app with bugs it's easy for me to restore a previous version. Love the ability to tag apps, see which apps are hogging resources & stop them. A very useful app!


text:
Next, you'll be asked to connect with Twitter. Rest assured, we will never send a tweet from your account
without your permission.
We will send you an email with an invite soon.
You know what a business incubator does, but what about a marketing incubator?
See what's Trending Now for @SBSurvival
Follow @SBSurvival on Twitter


text:
Library Services
Libraries and Hours
The City of Ventura has two public libraries, E.P. Foster Library (648-2716) and The Avenue Library (643-6393), administered and staffed by the Ventura County Library System. To receive the library's e-newsletter click here.
Monthly Events @ E.P. Foster Library
Event Calendars: ▪March ▪April
3/27 Minute to Win It 5-8 p.m. Get ready for minutes of fun! Join the E.P. Foster TAG group and experience "Minute to Win It" like never before. With a wide variety of minute-long games, there is something for everyone to enjoy.
3/28 Origami Math Genius (OMG) 11 a.m. – Noon. OMG is a curriculum built around origami math developed by BiJian Fan to integrate art and science into K-12 education. This program integrates fun, hands-on activities into learning. Students can learn mathematical concepts and logic by creating origami artworks, cultivate imagination and creativity, and develop problem-solving skills.
4/6 Film Discussion Group 6-9 p.m. Come join us in kicking off our new Film Discussion Group. The doors open at 6 p.m. and there will be time included afterward to talk about the selected film. Pick it apart and/or praise it with us. This month's movie is a satirical comedy from 1967 that pokes fun at a British film phenomenon at its peak in popularity.
4/7 & 4/8 Dress Up for Storytime 10:30 a.m. Come to our special storytimes on April 7 & 8 dressed as your favorite character!
4/8 "BRATS: Our Journey Home" Film Screening 6 p.m. The library will screen this film by Donna Musil, a documentary about growing up military which explores questions of family, identity, and the concept of home. The film features music and narration by singer/songwriter Kris Kristofferson, himself an Air Force brat, and interviews with General Schwarzkopf and author Mary Edwards Wertsch.
4/11 Sketching with John Iwerks 10-11 a.m. Artists, doodlers, beginners, and anyone else interested in John Iwerk's amazing artwork are encouraged to attend this workshop in the Topping Room. Bring along your sketchbook and tools! If you need a sketchbook you can contact E.P. Foster Library to see if any are available for checkout.
4/15 "BRATS RAW" Film Screening 6 p.m. This special follow-up screening will feature a series of uncut interviews and extra footage from the original movie, "BRATS: Our Journey Home," with General Schwarzkopf and Kris Kristofferson.
4/22 CI Lecture Series 5-7 p.m. Dr. Michelle Dean, Assistant Professor of Special Education, will present research that examines the social experiences of school children with high functioning autism, focusing on how gender relates to their relationships and social behaviors.
4/28 Read Me a Story & More 6-8 p.m. This early literacy workshop is for parents and caregivers of children 0-5 years old. Early literacy lays the foundation for learning to read. In this workshop, parents and caregivers will learn the five early literacy practices that children need to be reading-ready. Class size is limited, and advanced registration is required. This workshop is for adults ONLY. Sign up at the children's desk or call(805) 648-2716 and ask for the children's department.
4/29 NOAA and the National Weather Service 5-6 p.m. Eric Boldt, Warning Coordination Meteorologist of NOAA, will speak on STEM topics and the role of the National Weather Service. This talk is for people of all ages interested in STEM fields and the careers they can lead to.
Recurring Events
3/25, 4/1, 4/8, 4/15, 4/22 & 4/29 Library LAB 5:30-7:30 p.m. Come by the library on Wednesday evenings to learn more about our 3D printer and laser cutter—or to use them yourself! Ask the library staff about what you need to bring to print or engrave an item of your own, or just drop in to see what we're up to in our library makerspace.
3/26, 4/2, 4/9, 4/16, 4/23 & 4/30 Open Mic Night 7:30-9 p.m. On these Thursday nights, come join this group of writers as they meet in the Topping Room to present their work.
3/23, 4/13, 4/27 Ukulele Jam Session 7-10 p.m. Come play the ukulele with other local musicians in the Topping room! This event is free and open to the public. All skill levels are welcome to join in the fun!
San Buenaventura Friends of the Library
San Buenaventura Friends of the Library (SBFOL) is an all-volunteer group, working to help Ventura's libraries serve the public need for knowledge and opportunity. For information regarding SBFOL, including becoming a volunteer worker, and/or making a tax-deductible donation of cash, please pick up forms at any library where you may also donate books for future sales.
For more information, Mary Olson at email@example.com (805) 223-1187
Upcoming Booksales
The SBFOL will be hosting used book sales in June and September of 2015. For exact dates and times please check their website sanbuenaventurafriendsofthelibrary.org.
Library Strategic Plan
The Library Strategic Plan Vision for the Future: 2012-2017 (see also the final Executive Summary) was adopted by the Ventura City Council on May 7, 2012. For more information about this project please contact Denise Sindelar, Community Partnerships Manager at email@example.com or 805-658-4793.
Share your thoughts and comments with the Library Advisory Commission Please complete and save this form and email it to email@example.com. Library Survey (pdf)
- Survey Results as of June 10, 2011
- Consultant's Report to City Council June 16, 2011
- Consultant's Request for Information (RFI) due August 15, 2011 Spreadsheet Attachment
- FAQs (frequently asked questions) about the library strategic plan process
- VIDEO OF: Special Joint Meeting of City Council and Library Advisory Commission on June 16
- PowerPoint presentation made by Nancy Howe, Deputy Director, Santa Clara County Library
- Click here for the Library Vision adopted by the San Buenaventura City Council January 27, 1997
Library Advisory Commission
The City of Ventura has a Library Advisory Commission - not related to the County Library Commission. The City Library Advisory Commission's purpose is to make recommendations to the Ventura City Council on issues related to libraries and library services. The LAC meets on the fourth Tuesday at 5:30 pm in the Santa Cruz Conference Room.
- Chair - Patrick C. Squires
- Vice Chair - Debbie Giles
- Commissioner Danny Carrillo
- Commissioner Ron D'Incau
- Commissioner David Luna
- Commissioner Dolly Moerhle
- Commissioner Berta Steele
- City staff contact for the Library Advisory Commission: Denise Sindelar, 658-4793
View Library Advisory Commission minutes and agendas
Frequently Asked Questions about the Closure of HP Wright Library
Click here for an FAQ about the closure of HP Wright Library
More information regarding library issues is available at http://www.cityofventura.net/public_meetings/LibraryAdvisoryCommission.
The County Library System
The County Library System consists of twelve libraries in seven cities, plus unincorporated county areas. The System is governed by the Ventura County Board of Supervisors. The mission of the Ventura County Library is to meet the general reading, lifelong learning and informational needs of the people of Ventura County, with special focus on children, youth and families. Jackie Griffin is the Director of the Ventura County Library System.
Ventura County Library
5600 Everglades St.
Suite A
Ventura, CA 93003
(805) 677-7150
Ventura County Library website


text:
Originally written on Fox Sports North | Last updated 11/18/14
MINNEAPOLIS The Gophers football team didn't list it on this week's depth chart, but all signs point to sophomore Max Shortell taking the snaps as Minnesota's starting quarterback on Saturday against Syracuse. Shortell entered last weekend's game against Western Michigan when starting quarterback MarQueis Gray went down with a high ankle sprain. No timetable has been set for Gray's return, but the injury normally takes at least a few weeks of recovery. Even with his track record as a quick healer, it's doubtful that Gray will take snaps Saturday against the Orange. That means Shortell will likely get his second career start for the Gophers, who improved to 3-0 after last Saturday's win. Shortell's only other start came last year as a true freshman, when he started in place of the injured Gray in a road game against Michigan. Shortell and the Gophers struggled mightily in that game as they were routed 58-0 by the then-No. 19 Wolverines at the Big House in Ann Arbor. Shortell was j...
Comments are closed.
What do you think?To leave a comment, you can:
College Football News
Delivered to your inbox
You'll also receive Yardbarker's daily Top 10, featuring the best sports stories from around the web. Customize your newsletter to get articles on your favorite sports and teams. And the best part? It's free!
Follow us on Twitter
|Best of Yardbarker
|NFL News
|MLB News
Today's Best Stuff
For Bloggers
Join the Yardbarker Network for more promotion, traffic, and money.
Company Info
What is Yardbarker?
Yardbarker is the largest network of sports blogs and pro athlete blogs on the web. This site is the hub of the Yardbarker Network, where our editors and algorithms curate the best sports content from our network and beyond.
|© 2015 Yardbarker, Inc. All rights reserved. Use of this website (including any and all parts and components) constitutes your acceptance of these Terms of Use and Privacy Policy. (What's New?)


text:
AC Milan vice-president Adriano Galliani says Clarence Seedorf's position is safe.
Galliani insists their Champions League clash with Atletico Madrid would have no bearing on Seedorf's long term future at the club.
"It's bad to see that Juve have double the amount of points that we have but that's the type of season we are having.
"Now we must revive it in Madrid.
"Tomorrow will not have a bearing on the judgement of Seedorf.
"He is the Coach we have chosen and after this one he still has two years remaining on his contract.
"We are trying to finish as high as possible in the league, we can't afford to turn our noses up at the Europa League."
For breaking stories and all the great banter like us on Facebook: facebook.com/tribalfootball


text:
1975 - does Orantes have a claim on the year end number 1?
View Single Post
Hall Of Fame
Join Date: Oct 2008
Posts: 4,318
Originally Posted by
Ashe won the entire WCT tour, with 4 titles, not including Dallas. And I've always understood that the WCT tour, in those days, featured the toughest competition.
I haven't studied the fields of the various events in detail, but I've tracked how the top players did against the rest of the Top Ten throughout the year.
Ashe: 13-9
Orantes: 10-7
Borg: 11-9
Connors: 6-3
The Top Ten competition that Ashe and Orantes faced was very similar, and in fact Ashe has more Top Ten wins than anyone else.
So however the events may be defined in terms of masters equivalents, I would not say that Orantes faced tougher competition than Ashe. Their competition looks comparable.
I agree with PC1, too, that it's a negative for Orantes to have won nothing outside of clay. Ashe's achievements were more diverse: 6 of his 8 titles were on carpet, another on hard and another on grass.
This is good analysis. Though I would comment that ashe was wimning his non-dallas wct titles against only a 1/3 of the wct guys.
View Public Profile
Find More Posts by timnz


text:
Newly Release Video Reveals Technical aspects of Advanced Breast Augmentation Surgery The Cold-Subfascial Breast Augmentation TM
Dr. Rian A. Maercks of The Maercks Institute has released a video designed to give outsiders an insight into what is involved surgically in the current craze in breast augmentation surgery, the Cold-Subfascial Breast Augmentation TM.
Miami, FL (PRWEB) March 25, 2013
In a newly released video, renowned plastic surgeon Rian A. Maercks M.D. describes the technical differences in his elite breast augmentation technique, the Cold-Subfascial Breast Augmentation. This video is unique as it is the first time that surgical footage of the Cold-Subfascial Breast Augmentation has been publicly released and it is all from raw footage caught on innovator Dr. Rian A. Maercks' helmet camera.
The Cold-Subfascial approach, as Dr. Maercks explains it, differs radically from conventional techniques such as the commonly used "dual-plane" technique. "Dual-plane technique is a set-up for disaster in my opinion. A small fraction of the superior implant is under muscle and the entire rest of the implant is subfascial with no support. This leaves a strong muscle to push the implant through weak breast tissue and skin creating the ever so common 'down and out' appearance. The Cold-Subfascial technique allows creation of a strong enduring bra inside the breast that allows me to sculpt" the result to beautifully fit the patient." Dr.Maercks creates this brassiere out of the pectoral fascia which is displayed in the video as he delicately separates his prized fascia from the muscle using only sharp technique and no electrocautery hence the "cold" in the name of this procedure.
This video allows a more concrete understanding of the latest advancement in breast augmentation surgery that is buzzing around the mouths of celebrities and chat rooms everywhere. Dr. Maercks hopes that the video will help develop a better understanding that the pectoral fascia is a valuable structure in breast augmentation surgery.
For the original version on PRWeb visit: http://www.prweb.com/releases/prweb2013/3/prweb10563014.htm


text:
To help people better understand how global climate change may affect their country or community, WMO is inviting weather presenters from around the world to contribute "weather reports for the year 2050." View these videos here and learn more about WMO's efforts to engage weather presenters as climate communicators.
22 May 2015
19 May 2015
- 17th session of the World Meteorological Congress (Cg-17) Geneva, Switzerland, 25 May–12 June 2015


text:
ODT Online
ODT /directory
Two long-running Queenstown Lakes plan changes will become
operative or partially operative from November 15.
Plan change 41: Shotover Country special zone, which was
publicly notified in 2010, will become partially operative,
because of an appeal seeking to extend the area of land
Queenstown Lakes District Council senior policy analyst
Jonathan Richards said the land could be considered
"effectively zoned". However, because the boundaries could
not be defined, the "technical term" of partially zoned still
Mr Richards presented a report to the council earlier this
week asking for the council to approve and make operative
plan change 41, which they granted.
The appeal still in progress is from the promoters of the
proposed plan change, the Ladies Mile Partnership, and seeks
to reinstate land removed from the proposed zone in a council
"The commissioners recommended that this land was to be
excluded from the proposed special zone on the grounds of
flood risk," Mr Richards said in his report.
Plan change 41 rezoned 120ha of rural general zoned land west
of Lake Hayes Estate to create a special zone which will
allow for residential, education and community activities.
The council also approved plan change 34: Remarkables Park
private plan change.
The plan change was first lodged in 2008 but put on hold
pending more information and an updated plan change was
received in 2010.
The plan change expands the existing Remarkables Park
shopping and commercial centre, updates rules and rezones
parcels of land.
A name, residential address, and (preferably residential) telephone number is required from readers who comment on ODT Online. These details will not be visible to site visitors.
Login or Register
to add your business to the ODT/directory. Quick link to
more roadtests & reviews
search cars for sale
Submit your news & photos - Login or
Opinion? Have your say - Login or Register
Submit your
event or notice
Add a photo
Bookmark ODT
Make ODT my
Otago Daily Times print and digital edition, The
Star - Dunedin, The News - Central Otago, The
Ensign - Gore, Southland Express -
Invercargill, The Courier - Timaru, Queenstown Times - Queenstown, Mountain Scene -
Queenstown, Extra! schools
publication, Property
Times South Canterbury


text:
Three dozen Vt. school budgets dumpedBy Josh OGorman
vERMONT PRESS BUREAU | March 06,2014Vermonters defeated a near-record number of school budgets at town meeting, leaving some to ponder the message and others to argue its a sign for the need to reform the education funding system.
Of the 253 school budgets acted on either by ballot or floor vote in recent days, 35 went down in defeat, one of the highest numbers in recent years.
Its a high number, but its not unheard of, said Stephen Dale, executive director of the Vermont School Boards Association, which tracks data from across the state.
According to Dale, in the years since the adoption of Act 60 and Act 68 which created the states current education funding formula it has been common for budget defeats in Vermont to average in the high teens. He said 22 school budgets were defeated at town meeting last year and a high of 42 defeated at town meeting in 2003.
This year, voters rejected school budgets from Bennington to Burlington, including defeats in Brandon and Rutland City, as well as budgets for Spaulding High School and the Montpelier School District.
Frustration over rising property taxes led to the budget defeats, Gov. Peter Shumlin said in a statement Wednesday.
As we saw in communities throughout Vermont on Town Meeting Day, local control over school budgets is alive and well, Shumlin said. Vermonters are clearly frustrated by high spending, high property taxes and the complexity of the statewide education funding system. In a number of communities, voters scrutinized their budgets and per-pupil school spending, and asked school boards to go back and make adjustments.
While local school boards and local voters have control over their budgets, how much control they have over what education will actually cost in property taxes is open to debate.
For the second year in a row, the state Legislature has proposed increasing the homestead tax rate, this time from 94 cents to $1.01 for every $100 in assessed value a tax increase of $70 on a $100,000 home.
The Legislature has not approved the increase, but if it does, it will follow a 5-cent increase approved last year.
The proposal left many towns looking at tax increases that appeared disproportionately high when compared to the increase in the budget itself.
Dale discussed trends he saw among the recently defeated budgets.
In about half the instances, the budgets were quite high, said Dale, who described high as a budget with an increase ranging from 6 percent to 32 percent. The other half had budgets that were only increasing 2 or 3 percent, or in some cases, less than that.
Voters in Underhill, for example, defeated a proposed budget with a 3 percent decrease.
On average, proposed budgets across Vermont came in with a 3 percent increase, Dale said.
And having a decreased budget is no guarantee against higher taxes. In Rutland Town, voters approved a budget with a 2.5-percent decrease, lower than both the current budget and the budget adopted in 2012.
Even so, Rutland Town residential property owners are looking at a 5.5-cent increase in taxes to pay for education.
Some members of the Legislature are looking at the latest round of budget defeats as a sign the education funding formula needs to be overhauled.
I think they are voting down the budgets because they see a disconnect between education costs and what theyre paying in taxes, said Rep. Patti Komline, R-Dorset. The governor is blaming the towns, but really, a lot of these towns that voted down their budgets had budgets with small increases.
Komline and Rep. Heidi Scheuermann, R-Stowe, have started an online petition, advocating for the repeal of the current education funding formula by 2016 and create a new system for the 2016-17 school year.
Its really frustrating to see these communities defeat their school budgets, Scheuermann said. To see the effect this state policy has on communities is painful to watch.
She added, Ive never been one to advocate for voting down a school budget to send a message to Montpelier, but I think these defeats are supposed to send that message.
The online petition, launched Sunday, had nearly 600 signatures by Wednesday evening.
firstname.lastname@example.com IN Vermont NewsBOLTON During the next five years, Vermonts pre-kindergarten to grade 12 education system will... Full StoryMONTPELIER Gov. Full StoryMONTPELIER The Shumlin administration will lay off 14 state employees as part of a plan to save... Full Story
- Most Popular
- Most Emailed
- RICHARD'S POOR ALMANACK: On this day 1739, 'Richard Palmer' identified in prison at York Castle as the notorious outlaw DICK TURPIN; IN 1836, Battle of the Alamo begins near San Antonio de Bexar, Texas; 1896, the Tootsie Roll invented by LEO HIRSCHFELD.
- RICHARD'S POOR ALMANACK: On this day in 1472, Orkney, Shetland islands put up as collateral by Norway to Scotland in lieu of dowry for MARGARET OF DENMARK on her marriage with JAMES III, king of Scotland; 1962, JOHN GLENN first American to orbit Earth.
- TOMORROW'S HEADLINES TODAY: City mayoral candidates debate campaign issues; Hartford, Conn., woman still missing; Neal Goswami reports attempts to legislate suicide; local woman loses 100 pounds through TOPS program.
- RICHARD'S POOR ALMANACK: On this day in 1878, JOHN TUNSTALL murdered near Lincoln, New Mexico, by the outlaw JESSE EVANS; in 1930, ELM FARM OLLIE first cow to fly in aircraft, first to be milked airborne; 1955, nuke test WASP; '79, snow in Sahara.
- TOMORROW'S HEADLINES TODAY: Rutland Herald News Editor Alan J. Keays and staff writer Gordon Dritschilo discuss stories planned for the February 18, 2015, edition of the newspaper: Winter budgets maxed, legal marijuana, Springfield bank job, USPS slowdown
- RICHARD'S POOR ALMANACK: On this day in 1249 AD, ANDRE of LONGJUMEAU is dispatched by LOUIS IX of France to meet the KHAGAN, ruler of the Mongol Empire; in 1804, during 1st Barbary War, STEPHEN DECATUR scuttles the pirate-held USS Philadelphia in Tripoli.


text:
NEW YORK ( TheStreet Ratings) -- Every trading day TheStreet Ratings' stock model reviews the investment ratings on around 4,300 U.S. traded stocks for potential upgrades or downgrades based on the latest available financial results and trading activity.
TheStreet Ratings released rating changes on 43 U.S. common stocks for week ending March 22, 2013. 21 stocks were upgraded and 22 stocks were downgraded by our stock model.
Rating Change #10
Spectrum Pharmaceuticals Inc (SPPI) has been downgraded by TheStreet Ratings from buy to hold. The company's strengths can be seen in multiple areas, such as its robust revenue growth, largely solid financial position with reasonable debt levels by most measures and notable return on equity. However, as a counter to these strengths, we find that the stock has had a generally disappointing performance in the past year.
- EXCLUSIVE OFFER: Jim Cramer's Protégé, Dave Peltier, only buys Stocks Under $10 that he thinks could potentially double. See what he's trading today with a 14-day FREE pass.
- The revenue growth came in higher than the industry average of 6.8%. Since the same quarter one year prior, revenues rose by 32.3%. This growth in revenue does not appear to have trickled down to the company's bottom line, displaying stagnant earnings per share.
- SPPI's debt-to-equity ratio is very low at 0.26 and is currently below that of the industry average, implying that there has been very successful management of debt levels. To add to this, SPPI has a quick ratio of 1.83, which demonstrates the ability of the company to cover short-term liquidity needs.
- The gross profit margin for SPECTRUM PHARMACEUTICALS INC is currently very high, coming in at 74.90%. Regardless of SPPI's high profit margin, it has managed to decrease from the same period last year. Despite the mixed results of the gross profit margin, the net profit margin of 12.29% trails the industry average.
- SPECTRUM PHARMACEUTICALS INC reported flat earnings per share in the most recent quarter. This company has reported somewhat volatile earnings recently. We feel it is likely to report a decline in earnings in the coming year. During the past fiscal year, SPECTRUM PHARMACEUTICALS INC increased its bottom line by earning $1.46 versus $0.82 in the prior year. For the next year, the market is expecting a contraction of 100.0% in earnings ($0.00 versus $1.46).
- SPPI's stock share price has done very poorly compared to where it was a year ago: Despite any rallies, the net result is that it is down by 41.61%, which is also worse than the performance of the S&P 500 Index. Naturally, the overall market trend is bound to be a significant factor. However, in one sense, the stock's sharp decline last year is a positive for future investors, making it cheaper (in proportion to its earnings over the past year) than most other stocks in its industry. But due to other concerns, we feel the stock is still not a good buy right now.


text:
I am a busy working mom of one 18 year old boy. My husband is a student. I love knitting but am not very fast and find I think about it more than I actually knit. I learned to knit from my Mom and babysitter - the babysitter knit the most amazing Barbie clothes. I made my first sweater in High School and completed some Fair Isle mittens, however it was put away until about 6 years ago. I have finished a few sweaters and am trying to get better at putting them together. The finishing is my bugaboo.
© 2015 F+W All rights reserved.Use of this site signifies your agreement to the Terms and Privacy Policy, updated March 2007