Known Features of WebSphere Application Server on z/os

Size: px
Start display at page:

Download "Known Features of WebSphere Application Server on z/os"

Transcription

1 WebSphere Application Server for z/os V6.1 Hidden Gems: Little Known Features of WebSphere Application Server on z/os This document can be found on the web at: Search for document number WP under the category of "White Papers" Version Date: November 21, 2007 See "Document change history" on page 17 for a description of the changes in this version of the document IBM Software Group Application and Integration Middleware Software Written by David Follis IBM Poughkeepsie follis@us.ibm.com Edited by Wayne O'Brien IBM Poughkeepsie

2 Many thanks go to...rob Alderman, Don Bagwell, Mike Ginnick, Barry Gower, John Hutchinson, Mike Loos, Colette Manoni, and Tim Spewak. Introduction... 3 Sticking with the script... 3 To GMT or not to GMT using ras_time_local... 3 Keeping track when your applications don't... 4 Putting trace output in its place... 4 Managing your message output... 5 What s going on? The DISPLAY command... 7 DISPLAY,SERVERS... 7 DISPLAY,SERVANTS... 7 DISPLAY,LISTENERS and DISPLAY,CONNECTIONS... 8 DISPLAY,TRACE... 8 DISPLAY,JVMHEAP... 8 DISPLAY,WORK... 8 DISPLAY,WORK,CLINFO... 9 DISPLAY,WORK,MDBSTATS... 9 DISPLAY,ERRLOG DISPLAY,MODE Summary of DISPLAY sub-options Spreading the work around stateful session placement Please stand by pause/resume listeners Are your enclaves propagating? Should you care? Handling large IIOP messages in 64-bit mode Servant survivor staying up during a timeout flurry Throttle up scaling up to a lot of connected clients Document change history

3 Introduction WP Hidden Gems: Lesser Known Features of WebSphere Application Server on z/os During the development of WebSphere Application Server for z/os, we sometimes add small, useful functions to the product without much fanfare or publicity. In this IBM White Paper, we look more closely at some of these under-appreciated functions and try to give them the attention they deserve. We cover the basics of each function, why or when you might want to use it, and the details of how. Sticking with the script Before we get into all that, you probably want to download the JYTHON script that accompanies this document. Written by Mike Loos, the script does several things that you might find handy, and can serve as a base on which to build other scripts as needed. The script performs the following steps: 1. Reads your configuration and removes any settings of the variable, ras_log_logstreamname. (If you did not set-up the logstream for the error log, WebSphere Application Server generates errors trying to connect to a specified stream name; the script deletes any references you might have set up by accident.) 2. Creates several variables for the new options described in this document. 3. Saves your configuration and does a node-sync to have the changes take effect. Before running the script, read this document and then edit the script to remove any changes that you do not want. Also, set the correct time zone, which is located near the top of the script file. Thanks for providing the script, Mike. To GMT or not to GMT using ras_time_local Unless you happen to live in an area in which Greenwich Mean Time (GMT) is the local time, debugging a problem with a WebSphere server means having to cope with message time stamps that vary between GMT and local time. In the output from a WebSphere server, for example, the WTOs issued by the server show the local time. In the server error log, however, or if you have tracing turned on, those same messages are time-stamped in GMT. This headache isn't yours alone; if you have ever sent server output to IBM Customer Support for diagnosis, they probably had to ask you (or figure out) your GMT offset. Fortunately, this is all easily resolved. From the WebSphere administrative console, navigate to Environment > WebSphere Variables, and set the variable ras_time_local to 1. This setting causes the trace and error log messages to be written in local time. Now, those WTO time stamps will line up nicely with the trace and error log time stamps. To perform this change consistently across servers, set the variable at the cell level. To select local time for the daemon, prefix the variable name with DAEMON_, that is, specify the variable DAEMON_ras_time_local=1. For more information about setting the time zone, see the WebSphere Information Center, starting with this article: ries/ae/trun_svr_timezones.html

4 Time stamps in garbage collector output (verbosegc) remain in GMT, unless you set the time zone for Java. You can do so either at a system level or for just the WebSphere Application Server processes, as described in the WebSphere Information Center (the previous link). For the valid values for time zone, see the following link: m.ibm.websphere.zseries.doc/info/zseries/ae/rrun_svr_timezones.html. Keeping track when your applications don't Monitoring your applications is an important part of managing your application server. One type of situation to monitor is when an application returns an exception to its caller. That is, a client request enters the server and is processed, but something goes wrong either in the server itself or in the application processing resulting in an exception that is marshaled and returned to the client. Unless the application logs such failures (and failures detected by the application server itself might never be seen by the application), there isn t a good way to know if this is happening. That is, unless you use the little known variable protocol_bboc_log_return_exception. Set this variable to 1 to have the application server write message BBOO0169W to the error log whenever it returns an exception to a client. Another potential situation worth monitoring is when a client fails to wait for a request to complete. The application server detects this situation if it tries to respond to a client, but the client has closed the connection. To monitor for this type of event, set the variable protocol_bboc_log_response_failure to 1. Doing so causes the server to write message BBOO0168W to the error log. This message indicates whether a success or failure response was being sent, and includes information about the client that issued the request (such as host and port). To perform this change consistently across servers, define these variables at the cell level. Putting trace output in its place WebSphere Application Server provides many options to help you control tracing. You can, for example, trace events by severity or importance (such as "errors only" or "informational"), or specify a particular area of the product to trace ("communications," "security," and so on). To determine what tracing is active, use the DISPLAY,TRACE command (more on this useful command later). To adjust the active tracing, you can either use the WebSphere administrative console or enter the MVS MODIFY command with any of the following options: TRACEJAVA, TRACEBASIC, TRACEDETAIL, TRACESPECIFIC, TRACEALL, TRACEINIT, or TRACENONE. You also have these options for controlling where trace output should be kept: BUFFER, which you should probably always use, is an option that directs WebSphere Application Server to allocate internal buffers to hold the trace data. You can control the number and size of these buffers. When one buffer fills, WebSphere Application Server moves on to the next buffer, and so on, until it runs out of buffers. It then wraps back to the first buffer and overwrites it. (You can save the contents of the full buffers by having it sent to a CTRACE external writer.) Writing exception tracing to internal buffers is a good idea. Doing so probably will not affect performance because exceptions should not occur frequently and no I/O is used in writing the data. Further, if a serious problem occurs, IBM Customer Support can check the buffers in an SVCDUMP and possibly find debugging information in the traces

5 SYSPRINT is an option that causes tracing to be formatted and written to the job output SYSPRINT DD card (stdout), making the output easier to find and read. Depending on how much output is produced, however, this option can consume a lot of spool space and affect performance through I/O. TRCFILE is an option that allows you to keep the server trace output separate from the application output, for improved readability. You do this by setting trace output to TRCFILE, and defining a TRCFILE DD card in the JCL for the controller, servant, and adjunct. Otherwise, if your applications write data to standard out (using the Java System.out.println), and you have WebSphere tracing turned on and set to SYSPRINT, the WebSphere trace output is mixed with the application output, which can be difficult to read. Of course, TRCFILE has the same affect on spool usage and performance as SYSPRINT. You can change the SYSPRINT and TRCFILE settings dynamically, as follows: To turn SYSPRINT tracing on and off, enter the command: MODIFY <server>,tracetosysprint=yes or =NO. To turn TRCFILE tracing on and off, enter the command: MODIFY <server>, TRACETOTRCFILE=YES or =NO. Note that tracing to the internal buffers continues, regardless of whether you send trace output to SYSPRINT or TRCFILE. You can specify multiple options to select more than one destination for the output. During normal use, for example, you might have the application server send trace output to BUFFER. Whenever a problem occurs, you can switch tracing to SYSPRINT to make the trace output easier to find and read in those situations. Suppose, for example, that a situation arises in which IBM Customer Support needs to collect trace output to debug a problem. Here, you can enter the MVS MODIFY command to select the appropriate amount of tracing, such as TRACEDETAIL=(3,4) and specify TRACETOSYSPRINT=YES to direct tracing to SYSPRINT. Then, you can recreate the problem or do whatever you need to do to produce the trace output for IBM Customer Support. To stop tracing to SYSPRINT and resume your original tracing setup, enter these commands: MODIFY <server>, TRACETOSYSPRINT=NO MODIFY <server>, TRACEINIT Managing your message output Whenever a WebSphere Application Server process starts, it issues many write-to-operator (WTO) messages to indicate which configuration variables and Java properties are in effect. Because these settings control much of the behavior of WebSphere Application Server, the messages can be useful to you in verifying which options are in use, and to IBM Customer Support, for help in debugging a problem. But what, if anything, should you do with all of these messages? Usually, you need the messages to appear in the job output only for easy viewing or for capturing and sending to IBM Customer Support along with the other server output, such as trace data. However, because these messages are WTOs, the system also writes them to the hardcopy log (SYSLOG). Usually, this is not a problem, but if you ever need to find something in SYSLOG, you might have to look through hundreds of configuration messages, spewed out from every controller, servant, and adjunct. We heard enough complaints about this congestion that we did something about it in WebSphere Application Server, Version 5: We added an option to allow you to convert the WTOs to text written to a DD card. You supply the name of the DD card; we open it and write the messages there

6 To configure this capability, you set two variables: ras_default_msg_dd ras_hardcopy_msg_dd. Have these variables refer to separate DD cards with names you can define in the JCL for the controller, servant, and (if used) the adjunct. Why the need to define two DDs, you ask? Internally, WebSphere assigns routing and descriptor codes to each WTO it issues. WebSphere defines that some messages should go to the hardcopy log and other messages are to take the "default" for routing (which, as it happens, is also to go to the hardcopy log). Perhaps confusingly, this routing scheme yields two different sets of messages: BBOM0001I messages issued during initialization, which show environment variables and their settings, use the "default" routing Messages issued from Java that become WTOs use the hardcopy routing, such as the BBOJ0077 messages that report properties set at initialization. For details on message routing, see this link in the WebSphere Information Center: here.zseries.doc/info/zseries/ae/rtrb_msgrouting.html. In addition, your server can build up a lot of output over time if you have: Some tracing going to SYSPRINT Application code writing println( ) s to stdout Errors logged in the job output and messages turn up there regularly. Eventually, all of this output can consume enough spool space to be a problem. You might even have to recycle the server just to free up spool space. To keep your output under manageable limits, you might want to have JES2 spin the output (remove it from the server), so that you can eliminate it later through purging, printing, or some other means. Fortunately, JES2 provides an easy way to do this: Specify the SEGMENT keyword on the server's DD card. Here, JES2 spins the output whenever the output reaches the number of pages you specified as the SEGMENT size. The next question is, how big is a page? A page is defined by the presence of carriage control character 1 in column 1 of the output. You create this character by writing a form-feed (/f) to stdout. Why not just enter a 1 in column 1? Because z/os Language Environment assumes that if you write 1,' you mean '1,' not a form-feed, so it moves the '1' to column 2 for you. If you enter a formfeed (/f), however, Language Environment places a 1 in column 1. To have pages of a consistent size, you should write them at regular intervals (assuming that output is constant). WebSphere Application Server provides two options for setting intervals for writing form-feeds for output streams one for stdout and one for stderr. The options are called ras_stdout_ff_interval and ras_stderr_ff_interval; specify these values in minutes. (Because the SYSOUT DD card used by stderr is "special," you need to do extra setup to configure that option.) Suppose, for example, that you specify a SEGMENT size of '24' and specify that WebSphere Application Server is to write form-feeds every 60 minutes. Here, JES2 spins the output from the server once per day (regardless of how much output exists). For details, see the following article in the WebSphere Information Center: here.zseries.doc/info/zseries/ae/urun_rproperty_custproperties.html. For information about setting up message routing, see IBM Techdoc TD

7 What s going on? The DISPLAY command In its basic form, the MODIFY DISPLAY command tells you name of the application server and its code level: F <server>,display. To save keystrokes, you can enter the MODIFY command as F. Automation programs might use the MODIFY DISPLAY command simply to generate a known response to validate that the server is present and is at least a little responsive. The command does not drive the full request path, but it does make use some of the same resources used in the course of handling requests. But that's really just scratching the surface of what you can do with DISPLAY. This useful command includes quite a lot of interesting sub-options to help you monitor server processing at your installation. To see them all, enter: F <server>,display,help where <server> is the name of the controller procedure. (As a rule, you can see more information about any WebSphere Application Server MODIFY command or sub-command if you follow the command with,help.) To give DISPLAY the attention it deserves, let's look at some of the more interesting sub-options that are available for this command (a summary table appears at the end of this section). DISPLAY,SERVERS The SERVERS option, entered as F <server>,display,servers, reads the table used by the daemon for routing Internet Inter-ORB Protocol (IIOP) work requests among servers in this cell. For each server, this command reports: Cluster name Server name and code level Name of the MVS system on which the server is running. The DISPLAY,SERVERS command does not actually touch every server, but it does identify which servers WebSphere thinks are available and the routing information that WebSphere uses. In addition, even though this command examines information owned by the daemon, you can enter it for any controller or daemon in the cell to receive similar information. DISPLAY,SERVANTS The SERVANTS option, entered as F <server>,display,servants, simply lists the address space identifiers (ASIDs) of the servants owned by the specified controller. This command might make it easier for you to determine which servants are associated with a particular controller, as an alternative to displaying jobs under SDSF (which can be difficult, depending on your installation's job naming conventions). True, each servant reports its server name during start-up, but the DISPLAY,SERVANTS command gives you a way to see what's going on quickly. It can also be a quick way for automation to detect how many servants are associated with a particular controller, if you allow z/os Workload Management (WLM) to dynamically increase and decrease the number of servants

8 DISPLAY,LISTENERS and DISPLAY,CONNECTIONS These commands, which are new for Version 6.1, do the following: DISPLAY,LISTENERS reports on the listener ports in use, including the names of the channels with which the ports are associated. DISPLAY,CONNECTIONS reports on the clients connected to the server. The command includes sub-options to allow you to control how much information is displayed. For example, you can display just a count of the connections, or list them all. Or, you can restrict the display to a single connection type or list them all. These commands replace DISPLAY,SESSIONS and its sub-options from previous releases. Why did we make this change, you ask? After we restructured WebSphere in V6.1 to use the Channel Framework to manage connections, it became very complex to continue to present the information provided by DISPLAY,SESSIONS in the same way. Thus, in Version 6.1, the old DISPLAY,SESSIONS command now generates a response that it is obsolete, while the new commands provide the same data, although structured somewhat differently to reflect the change in the internal structure of the code. DISPLAY,TRACE The TRACE option, entered as F <server>,display,trace, provides information about what tracing options are turned on. You can display tracing options for the controller (the default) or for the servants by adding,srs to the command. To see tracing for both the controller and the servants, add,all. Displaying trace options is usually a good idea after you have made a change that IBM Customer Support has requested, so that you can verify that the settings in effect are the ones you want. DISPLAY,TRACE provides information about the tracing used in just the native (non-java) code. To see what tracing is used in the Java code, enter the command, DISPLAY,TRACE,JAVA. Again, you can expand this information by appending the suffix,srs or,all to the command. DISPLAY,JVMHEAP The Java Virtual Machine (JVM) provides an API, called QueryGCStatus, to let you check the size of the current Java Heap, how much of it is allocated, and how many times garbage collection has run. You can use the command DISPLAY,JVMHEAP to have WebSphere Application Server call the API for this information. While not even close to a substitute for VerboseGC data, an occasional look at the JVMHEAP information can provide you with some insight into how the Java Heap is managing to handle the demands created by the requests being run. As with DISPLAY,TRACE, you can append the,srs or,all suffix to the command to control which processes report this information. For information about the QueryGCStatus API, see the following link: DISPLAY,WORK This command, which is intended for automation, shows how much work the server is doing. The basic command and some of its sub-options, which act as filters (or provide extra information about how work is spread across the servants), reports the number of requests that have been handled by the server and how many requests are currently in the server

9 Understand that the server is not stopped while this data is collected. If you ask each servant to report how many requests it has processed, each servant will, in turn, report its information. By the time the last servant reports, however, the numbers reported for the first servant might be obsolete if the server is very busy. The DISPLAY,WORK command also reports the last time it was issued by anybody (automation, you, or another operator). It also tells you, for some fields, the change (or delta) in that field since DISPLAY,WORK was last issued. The sub-options for this command do not affect how the deltas are calculated. So, if you enter DISPLAY,WORK,ALL, followed by DISPLAY,WORK,SUMMARY, deltas are calculated on the second command, based on the numbers gathered to produce the results for the first command. Another oddity with the DISPLAY,WORK command is the somewhat unfortunate naming scheme used for the filters. You can select from EJB,SERVLET, or MDB, as follows: EJB reports on requests that arrive at the server through IIOP SERVLET reports on requests that arrive through HTTP, regardless of whether they are requests for servlets, jsps,.jpegs, or something else. MDB reports on the messages received by the MQ listeners in the controller. These counts reflect only how requests arrived at the server. If an HTTP request drives a servlet that calls an EJB, for example, only the count for SERVLET is incremented. DISPLAY,WORK,CLINFO This command, entered as F <server>,display,work,clinfo, relates to the XML file that is used to help classify requests with WLM. It displays one line of text for each node in the classification tree for IIOP and HTTP requests. The description tag from the XML file indicates which entry is being displayed. In the command output, each line indicates the number of times a node: Has been examined while trying to classify a request Has matched the request Has been used (it might match, but not be used if a sub-node is a better match). For each node that was used, this command also reports the cost or number of comparisons required to reach the node. This information can help you understand how your classification tree is being used and help you sort the more commonly used nodes towards the top of the tree to reduce the time spent searching the tree for a match. The last line of text for each section reports the total number of requests of this type that were classified and the total cost (in terms of nodes examined) to do so. For information about classifying workloads for WLM, see this link in the WebSphere Information Center: here.zseries.doc/info/zseries/ae/tjta_ztclass.html. DISPLAY,WORK,MDBSTATS The MDB throttle controls the amount of work that the server handles at a given time for a message-driven bean. If the controller is receiving messages and a throttle exists to prevent the server from absorbing too many messages from the queues, the server stops and begins listening to the queue to avoid being overrun with messages. If you have monitoring active (through the command MODIFY <server>,mdbstats=enable), you can see how the MDB throttle is behaving by entering the command MODIFY <server>,display,work,mdbstats

10 For information about monitoring MDB throttling, see this link in the WebSphere Information Center: here.zseries.doc/info/zseries/ae/rprf_tipsmdb.html DISPLAY,ERRLOG When you send a dump to IBM Customer Support, they often need to see your error log, too. If you neglect to include your error log with the dump, they will probably ask you to send it, which can delay debugging a problem. To avoid this delay in Version 6.1, we added a small cache that records the last 10 items written to the error log from any WebSphere Application Server process. We anchored the cache so that IBM Customer Support could find it easily in an SVCDUMP. And, because it seemed useful to be able to quickly and easily look at the cache and see what error messages had been logged recently without taking a dump or accessing the output of the server (or the logstream, if the error log is directed there), we also provided the DISPLAY,ERRLOG command. DISPLAY,MODE In Version 6.1 (PTF 4), we allow any server to run in either 31-bit or 64-bit mode. We added the command DISPLAY,MODE to give you a convenient way to check the server's bit mode (which is also indicated in the message issued by the server during initialization). Remember that the controller and servants for a server all execute in the same bit mode. Summary of DISPLAY sub-options Here's a summary of the DISPLAY sub-options that we covered in this section: Command DISPLAY DISPLAY,SERVERS DISPLAY,SERVANTS DISPLAY,LISTENERS Purpose Generates a response indicating that the server is alive. Displays a list of all servers in this cell in this sysplex. Displays the ASIDs of the servants owned by this controller. Displays information about each configured listener. DISPLAY,CONNECTIONS Displays information about each network connection to the server. DISPLAY,TRACE DISPLAY,TRACE,JAVA DISPLAY,JVMHEAP DISPLAY,WORK Displays currently active native tracing options. Displays current active Java tracing options. Displays basic information about the JVM heap. Displays counters of the number of requests processed by the server. DISPLAY,WORK,CLINFO Displays information about how requests are classified. DISPLAY,WORK,MDBSTATS Displays information about MDB throttling. DISPLAY,ERRLOG Displays the last 10 entries to the error log written by this server. DISPLAY,MODE Displays the bit mode the server is using (31 or 64). More specifics are provided in the WebSphere Information Center, beginning with this article:

11 Spreading the work around stateful session placement When an application server processes a request, an affinity is sometimes created for the servant region in which the request was processed. As a result, the server must continue to route the client's requests to the same servant region, to ensure that subsequent requests access the same session data. For HTTP requests, for example, an affinity often results for a servant region that contains the HttpSession data, such as the shopping cart. If the session data resides in memory, the server must route subsequent requests from the client to the same servant region, to ensure that the same shopping cart is accessed. Now, consider a different scenario that uses session data. Imagine an application for which session data is created every morning as part of a "logging on" process that your end-users perform. From 8 a.m. until 9 p.m., the "logging on" activity is very low, consisting of just a few requests at a time, as users begin to arrive at work. Although you defined the server (the target of this activity) to start three servant regions, z/os Workload Management (WLM) does not need more than a single servant to meet the goals for these requests, and so it only uses one. Every log-on request, therefore, generates an affinity for its client to this same servant region. Later in the day, people really get to work. Requests enter the server at a tremendous rate. Due to the server affinity created earlier in the day, WLM routes all of the requests to the same servant region; that's where their session data is located. See Figure 1. Figure 1. Server affinity causes requests to be routed to the same servant region Now, with the vastly increased workload, the servant region falls behind, leaving WLM unable to process the requests fast enough to meet response time goals. Here, server affinity gives WLM no choice; WLM cannot route the requests to the other two servers, which stand idle. How can we avoid this bottleneck situation? Earlier in the day, we should have spread out the initial requests among all three servants (even though we did not need to do so at the time) to balance the server affinities

12 WLM will do this for you just specify the option wlm_stateful_session_placement_on=1. With this setting enabled, WLM assumes that any request without an affinity will create one. Based on the current count of affinities for each servant region, WLM places each new request where it is most likely to even out the number of affinities among the servant regions. (This might look like a round-robin algorithm at times, but it's not.) Returning to our example, assume that we specify wlm_stateful_session_placement_on=1 to cause the few early morning requests to be divided evenly among the three servants. Later in the day, when the workload increases, WLM continues to spread the requests evenly among the three servants. Be careful, however, when using this option with multiple WLM service classes. When WLM has the option of placing a request wherever it wants (that is, without affinity), it places the request in a servant region that is bound to the service class associated with the request. Thus, when WLM is balancing affinities, it considers only the affinities of servant regions that are bound to the service class of the request. In our example, if one of the servant regions is bound to Service Class A, and a request arrives without affinity and associated with Service Class B, WLM places the request in one of the two servant regions belonging to Service Class B, ignoring the affinity count of the first servant region. See Figure 2. Figure 2. WLM ignores a servant region that is not bound to the service class of the requests This happens when the very first request placed by WLM is associated with a different service class than that of the other requests. That first request is a dummy request submitted by WebSphere Application Server to cause WLM to start the first servant region. If that request is associated with a different service class than the rest of the workload, this action binds one servant region to a different service class and messes up the affinity balancing. Eventually, when no more work arrives for that service class, WLM might associate it with the other service class, but that process can take a while. This situation can make the affinity balancing look as though it is not working correctly when it actually is. To see how WLM is managing the servant regions, you can use the WLMQUE tool provided by WLM development at this link:

13 Please stand by pause/resume listeners Suppose you want an application server to stop accepting work for a while, but you don t want to take the controller and its servants down, only to have to start them back up again later. Imagine, for example, that you need to apply maintenance to another subsystem, or you are having a temporary problem and you want work to stop coming to this server. Or, perhaps, you want to have a hot-standby server ready to pick up work whenever another server in the cluster gets overloaded or has problems. Instead of stopping the application server in these situations, you can use the MVS MODIFY command to pause the listeners for the server. With this command, which you enter as F <server>, PAUSELISTENERS, you make the following things happen: WebSphere Application Server shuts down the HTTP listener ports for the server. This action prevents new HTTP connections from entering the server; any upstream routers sensitive to the state of the port will stop routing work here. WebSphere also closes any persistent HTTP sessions that are waiting for new requests to arrive. The server contacts the WebSphere Application Server daemon and indicates that IIOP locate requests should no longer be forwarded to this server. The IIOP ports remain open, however, for the CORBA Object Transaction Service (OTS) to use to resolve any outstanding transactions. For MQ, WebSphere Application Server stops listening for messages. Any work already in-flight, however, continues, and ports used to communicate with the node agent remain open. Thus, any updates done through the WebSphere administrative console are still processed by the paused server. In short, the server remains up and available (to the administrator), and any work in-flight is allowed to continue. New clients, however, cannot reach the server or are, at least, encouraged to go elsewhere. To return the server to normal processing, enter the command F <server>,resumelisteners. Everything fires back up again: the HTTP listener re-opens; the daemon starts to route IIOP requests to this server again; the MQ listeners start looking for messages again. You can pause and resume a server as often as you like. Are your enclaves propagating? Should you care? According to the z/os Workload Management (WLM) documentation, an enclave is "a transaction that can span multiple dispatchable units (SRBs and tasks) in one or more address spaces and is reported on and managed as a unit." Based on your WLM policy, each enclave is associated with a service class and a report class, which allows WLM to manage and report on the work done by the request. For each new request that enters the application server, WebSphere does the following processing: 1. Works with WLM to classify the request and create an enclave associated with the appropriate service and report class. 2. Places the request on the WLM queue and a servant picks up the request. 3. Associates the enclave for the request with the dispatch thread and runs the request

14 But what happens if the request calls an EJB that resides in another application server? Here, WebSphere creates an IIOP connection for that server and sends the request there to be executed. Usually, the other application server performs the same processing and creates a WLM enclave in which the request can run. However, it s really part of the same request, so it shouldn't it run under the same enclave? Well, maybe. If the other server is located on the same z/os image, WebSphere propagates it to the other server (by means of an enclave token), so that the server does not create a second enclave for the same transaction. Thus, WLM can manage and report on the work done in the other server as part of the original request. This design fits very well with the official definition of an enclave; remember that part about "...can span multiple dispatchable units in one or more address spaces" -? This means that the SMF records for the enclave will report the CPU usage for both servers. SMF covers the entire transaction, even if more than one server was involved. In theory, this approach should make accounting and chargeback easier for you, because you do not need to correlate records from different servers. Everything is reported for the whole transaction. And that s true, most of the time. Sometimes, however, you might not want the enclave to be propagated to another server on the same system. This might be true when both servers are using different WLM service classes for their work and the second server has a limited number of servant regions. Remember that WLM groups requests having an enclave associated with the same service class into the same servant region (or regions). Suppose, in our example, that the second application server is defined to have only one servant region. Further, suppose that the service class of requests dispatched in that servant region is different from the service class associated with requests dispatched in the first server. If a request dispatched in the first server sends a request to the second server and the enclave is carried with it, WLM must dispatch the request in a servant region associated with that service class. However, the second server does not have one, and cannot create a new one because it is restricted to a single servant. In this situation, WLM cannot process the request. The request just sits in the queue until a timeout cleans things up. Here, you might want to tell WebSphere Application Server not to bother propagating the enclave. Or, you could increase the maximum number of servants for the second server to allow WLM to start a servant for this request. To stop enclave propagation, set the option protocol_iiop_local_propagate_wlm_enclave to zero (0). Handling large IIOP messages in 64-bit mode If your application server is running in 31-bit mode, we restrict the size of the Internet Inter-ORB Protocol (IIOP) messages that can be handled by the server. This control prevents the server from being overrun by data and running out of storage. In 64-bit mode, however, we remove this restriction because potentially huge amounts of storage are available to your application server. Nevertheless, you might still want to restrict the size of IIOP messages to limit the amount of virtual storage consumed by the server, or to prevent the messages from flooding the JVM heap. Of course, the origin of an IIOP message might influence your decision about limiting its size. Therefore, we provide you with two useful switches for handling these messages:

15 For IIOP messages that arrive over TCP/IP from clients on other systems, you can limit the size of IIOP messages through the configuration variable iiop_max_msg_megsize. For clients (or servers acting as clients) on the same system, you can manage the limit through the configuration variable local_comm_max_msg_megsize. You specify these values in megabytes. For any message that exceeds its allowable size, the server rejects the message and closes the connection. You might want to set local_comm_max_msg_megsize to a larger value to permit large messages to flow between servers on this system, but use iiop_max_msg_megsize to restrict the size of messages that arrive from elsewhere in the network. The default value for both of these variables is zero, which means that there is no limit---at least until you run out of 64-bit storage! Servant survivor staying up during a timeout flurry One advantage of running an application server on z/os is the option of ending a runaway or hanging request by ending the servant region in which the request is dispatched. If you are configured to run more than one servant, and a servant encounters a problem, WebSphere Application Server for z/os can abend the problem servant. This action allows the application server to continue processing work without interruption by routing requests to other servants. Eventually, WLM automatically starts a new servant to replace the one that ended. This capability is very useful unless the problem is one that affects all of your servants. For example, suppose that you have several applications installed in the server and one of them has a bug that causes it to loop. If all the servants receive a request for that application at the same time, then a dispatch thread in every servant will be stuck in a loop. This situation causes WebSphere Application Server for z/os to abend all of the servants at once, leaving you without servants to process requests for the other applications. Of course, you should fix the application bug, to prevent the problem from reoccurring. However, that might take awhile (some problems are complicated). What can you do in the meantime to minimize the damage? You have some choices. If you have another server in the same cluster, you can set variable control_region_dreg_on_no_srs to 1. This action causes the server to shut down its listeners when it has no other servant regions to which it must dispatch requests. The listeners re-open when the minimum number of servant regions is ready for work. But what if all of the servers in the cluster lose their servant regions at the same time? Or, you are not running in a clustered environment? Here, you should consider setting the variable control_region_timeout_save_last_servant to 1. This variable takes effect only when you have more than one servant active. When the controller is preparing to abend a servant for a timeout, it checks to see whether this is its last servant region. If so, the controller defers the abend. Thereafter, the controller periodically checks on whether any servants exist besides the one to be abended. When the controller eventually finds one, it abends the problem servant. This configuration allows requests for the other application to continue to be handled by a servant that contains a timed-out request until another servant is available to handle requests. But be careful---whatever problem caused the timeout (an endless loop in this case) is still occurring. While the controller waits for another servant to start, the request that is dispatched in the surviving servant is burning cycles in its endless loop. Of course, if your application hangs instead of looping, the situation is easier to live with

16 Throttle up scaling up to a lot of connected clients Towards the end of the development of WebSphere Application Server for z/os Version 6.1, we did some scalability testing, but the results of one test did not get much publicity. The goal of the test was to determine how many HTTP clients could connect to and use a single WebSphere Application Server on z/os server. In previous releases, running in 31-bit mode, the number of clients was constrained by limits in controller storage. Now, with a server running in 64-bit mode, we anticipated a much bigger number. We ran the test. In it, we defined a single controller with four servant regions. The clients ran with a small amount of think-time to prevent them from all sending requests to the server at the same time. Information about the details of the configuration (heap size, and so on) will have to wait for another IBM White Paper, but for now, we will just mention that we managed to have 120,000 HTTP clients concurrently connected and active, using a single WebSphere Application Server on z/os server

17 Document change history Check the date in the footer of the document for the version of the document. November 19, 2007 Initial Version November 21, 2007 Techdoc number WP assigned and updated in document. End of WP

Dispatch Timeout Improvements in WebSphere Application Server for z/os Version 7

Dispatch Timeout Improvements in WebSphere Application Server for z/os Version 7 WebSphere Application Server for z/os Dispatch Timeout Improvements in WebSphere Application Server for z/os Version 7 This document can be found on the Web at: www.ibm.com/support/techdocs Search for

More information

Hidden Gems 2: More Great But Little-Known Features of WebSphere Application Server on z/os

Hidden Gems 2: More Great But Little-Known Features of WebSphere Application Server on z/os WebSphere Application Server for z/os V7 Hidden Gems 2: More Great But Little-Known Features of WebSphere Application Server on z/os This document can be found on the web at: www.ibm.com/support/techdocs

More information

WebSphere Application Server for z/os Version 8.5 Hidden Gems in the WAS z/os Maintenance Stream

WebSphere Application Server for z/os Version 8.5 Hidden Gems in the WAS z/os Maintenance Stream WebSphere Application Server for z/os Version 8.5 Hidden Gems in the WAS z/os Maintenance Stream Version Date: May 2, 2014 See "Document Change History" on page 17 for a description of the changes in this

More information

WebSphere Application Server Version 8 New z/os Exploitation/Differentiation

WebSphere Application Server Version 8 New z/os Exploitation/Differentiation WebSphere Server Version 8 New z/os Exploitation/Differentiation David Follis IBM August 11, 2011 Session Number 9485 WebSphere Server Sessions Day Time # Title Speaker Room Wednesday 3:00 9483 Using IBM's

More information

WBSR85 Unit 3 - Server Models

WBSR85 Unit 3 - Server Models Unit 1a - Overview IBM Advanced Technical Skills WBSR85 WebSphere Application Server V8.5 for z/os WebSphere Application Server z/os V8.5 Unit 3 - Server Models TechDocs WP101740, WP102110 WBSR85 Unit

More information

Throttling WebSphere Liberty Batch Jobs

Throttling WebSphere Liberty Batch Jobs WebSphere Application Server Throttling WebSphere Liberty Batch Jobs This document can be found on the web at: www.ibm.com/support/techdocs Search for document number WP102600 under the category of "White

More information

Routing Operator Messages in WebSphere Application Servers for z/os V6 & V7

Routing Operator Messages in WebSphere Application Servers for z/os V6 & V7 Routing Operator Messages in WebSphere Application Servers for z/os V6 & V7 Operator informational and error messages are normally directed to JES Spool datasets. Examples of these include: RAS Traces

More information

Introduction. JES Basics

Introduction. JES Basics Introduction The Job Entry Subsystem (JES) is a #11 IN A SERIES subsystem of the z/os operating system that is responsible for managing jobs. The two options for a job entry subsystem that can be used

More information

Hidden Gems 3: Even More Great But Little Known Features of WebSphere Application Server on z/os

Hidden Gems 3: Even More Great But Little Known Features of WebSphere Application Server on z/os WebSphere Application Server for z/os V8 Hidden Gems 3: Even More Great But Little Known Features of WebSphere Application Server on z/os This document can be found on the web at: www.ibm.com/support/techdocs

More information

WebSphere Application Server for z/os I'm Not a Dummy But...

WebSphere Application Server for z/os I'm Not a Dummy But... WebSphere Application Server for z/os I'm Not a Dummy But... Other Sessions Agenda... 2 Objectives and Agenda Objective: To extend your understanding of WAS z/os to include things you might not have otherwise

More information

WebSphere Java Batch WP at ibm.com/support/techdocs Version Date: September 11, 2012

WebSphere Java Batch WP at ibm.com/support/techdocs Version Date: September 11, 2012 WebSphere Java Batch Version Date: September 11, 2012 Agenda Business Pressures on Traditional Batch IBM WebSphere Java Batch Overview IBM WebSphere Java Batch Feature Focus IBM WebSphere Java Batch for

More information

z/os Introduction and Workshop WebSphere Application Server 2017 IBM Corporation

z/os Introduction and Workshop WebSphere Application Server 2017 IBM Corporation z/os Introduction and Workshop WebSphere Application Server Unit Objectives After completing this unit, you should be able to: Describe WebSphere Application Server Be familiar with the WAS Administration

More information

Service Level Build Level cf

Service Level Build Level cf Service Level 6.1.0.9 - Build Level cf90722.09 ++ HOLD(UK24627) SYS FMID(H28W610) REASON(ACTION) DATE(07173) COMMENT (For the initial configurations, the logic which creates the directories and symbolic

More information

Workload Classification in WebSphere XD Compute Grid on z/os V.8

Workload Classification in WebSphere XD Compute Grid on z/os V.8 Workload Classification in WebSphere XD Compute Grid on z/os V.8 This document describes the mechanisms for classifying batch jobs running in WebSphere XD Compute Grid Version 8 on z/os. There are actually

More information

WebSphere Liberty Profile and Traditional WebSphere Application Server What's New? David Follis, Gary Picher, Mike Stephen IBM

WebSphere Liberty Profile and Traditional WebSphere Application Server What's New? David Follis, Gary Picher, Mike Stephen IBM WebSphere Liberty Profile and Traditional WebSphere Application Server What's New? David Follis, Gary Picher, Mike Stephen IBM August 5, 2014 Session Number 15783 Insert Custom Session QR if Desired. Disclaimer

More information

WebSphere Application Server for z/os V7 Administration

WebSphere Application Server for z/os V7 Administration Chapter 7 of WebSphere Application Server V7 Administration and Configuration Guide, SG24-7615 WebSphere Application Server for z/os V7 Administration In this chapter, we concentrate on the administration

More information

IBM. PDF file of IBM Knowledge Center topics. IBM Operations Analytics for z Systems. Version 2 Release 2

IBM. PDF file of IBM Knowledge Center topics. IBM Operations Analytics for z Systems. Version 2 Release 2 IBM Operations Analytics for z Systems IBM PDF file of IBM Knowledge Center topics Version 2 Release 2 IBM Operations Analytics for z Systems IBM PDF file of IBM Knowledge Center topics Version 2 Release

More information

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1

More information

XP: Backup Your Important Files for Safety

XP: Backup Your Important Files for Safety XP: Backup Your Important Files for Safety X 380 / 1 Protect Your Personal Files Against Accidental Loss with XP s Backup Wizard Your computer contains a great many important files, but when it comes to

More information

CIS 505: Software Systems

CIS 505: Software Systems CIS 505: Software Systems Fall 2017 Assignment 3: Chat server Due on November 3rd, 2017, at 10:00pm EDT 1 Overview For this assignment, you will implement a simple replicated chat server that uses multicast

More information

WebSphere Java Batch. WP at ibm.com/support/techdocs Version Date: September 11, 2012

WebSphere Java Batch. WP at ibm.com/support/techdocs Version Date: September 11, 2012 WebSphere Java Batch Version Date: September 11, 2012 1 Agenda Business Pressures on Traditional Batch IBM WebSphere Java Batch Overview IBM WebSphere Java Batch Feature Focus IBM WebSphere Java Batch

More information

Assimilating WebSphere Application Server into your z/os WLM Configuration

Assimilating WebSphere Application Server into your z/os WLM Configuration Assimilating WebSphere Application Server into your z/os Configuration David Follis IBM March 13, 2014 Session Number 14722 Insert Custom Session QR if Desired. Trademarks The following are trademarks

More information

Chapter 5 - Input / Output

Chapter 5 - Input / Output Chapter 5 - Input / Output Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 5 - Input / Output 1 / 90 1 Motivation 2 Principle of I/O Hardware I/O Devices Device Controllers Memory-Mapped

More information

Designing flexibility and isolation into your WAS z/os topology

Designing flexibility and isolation into your WAS z/os topology WebSphere Application Server for z/os Version 8 and 8.5, including Liberty Profile z/os Test, Production, and Maintenance Designing flexibility and isolation into your WAS z/os topology Version Date: January

More information

Websphere Server 8.5 Best Practices Oracle FLEXCUBE Universal Banking Release [December] [2016]

Websphere Server 8.5 Best Practices Oracle FLEXCUBE Universal Banking Release [December] [2016] Websphere Server 8.5 Best Practices Oracle FLEXCUBE Universal Banking Release 12.3.0.0.0 [December] [2016] Table of Contents 1. INTRODUCTION... 1-1 1.1 BACKGROUND... 1-1 1.2 BASICS OF WEBSPHERE... 1-1

More information

Understanding Java Batch and WebSphere XD Compute Grid

Understanding Java Batch and WebSphere XD Compute Grid Understanding Java Batch and WebSphere XD Compute Grid Gregg Lippa Senior Technical Analyst Themis Education Themis, Inc. glippa@themisinc.com Visit us at: www.themisinc.com Also: www.themisinc.com/webinars

More information

J2EE: Best Practices for Application Development and Achieving High-Volume Throughput. Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003

J2EE: Best Practices for Application Development and Achieving High-Volume Throughput. Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003 J2EE: Best Practices for Application Development and Achieving High-Volume Throughput Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003 Agenda Architecture Overview WebSphere Application Server

More information

It s possible to get your inbox to zero and keep it there, even if you get hundreds of s a day.

It s possible to get your  inbox to zero and keep it there, even if you get hundreds of  s a day. It s possible to get your email inbox to zero and keep it there, even if you get hundreds of emails a day. It s not super complicated, though it does take effort and discipline. Many people simply need

More information

Benefit of Asynch I/O Support Provided in APAR PQ86769

Benefit of Asynch I/O Support Provided in APAR PQ86769 IBM HTTP Server for z/os Benefit of Asynch I/O Support Provided in APAR PQ86769 A review of the performance results realized in a benchmarking effort where the key was supporting large numbers of persistent

More information

Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1

Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1 Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1 version 1.0 July, 2007 Table of Contents 1. Introduction...3 2. Best practices...3 2.1 Preparing the solution environment...3

More information

Exam Name: IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0

Exam Name: IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0 Vendor: IBM Exam Code: 000-377 Exam Name: IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0 Version: Demo QUESTION 1 An administrator would like to use the Centralized

More information

CS125 : Introduction to Computer Science. Lecture Notes #11 Procedural Composition and Abstraction. c 2005, 2004 Jason Zych

CS125 : Introduction to Computer Science. Lecture Notes #11 Procedural Composition and Abstraction. c 2005, 2004 Jason Zych CS125 : Introduction to Computer Science Lecture Notes #11 Procedural Composition and Abstraction c 2005, 2004 Jason Zych 1 Lecture 11 : Procedural Composition and Abstraction Solving a problem...with

More information

Websphere and Enclaves

Websphere and Enclaves Websphere and Enclaves Fabio Massimo Ottaviani EPV Technologies Enclaves are the units of work used by all the new z/os workloads. Enclaves can be dependent or independent. An independent enclave is a

More information

WebSphere Application Server on z/os Back to Basics Part 2. Mike Stephen IBM Session 9489 Thursday, August 11, :30 PM

WebSphere Application Server on z/os Back to Basics Part 2. Mike Stephen IBM Session 9489 Thursday, August 11, :30 PM WebSphere Application Server on z/os Back to Basics Part 2 Mike Stephen IBM Session 9489 Thursday, August 11, 2011 4:30 PM msteff@us.ibm.com This is part 2 of 2. 1 WebSphere Application Server Sessions

More information

The Dark Arts of MQ SMF Evaluation

The Dark Arts of MQ SMF Evaluation The Dark Arts of MQ SMF Evaluation Lyn Elkins elkinsc@us.ibm.com Session # 13884 August 13, 2013 Code! 1 The witch trial MQ is broken! Agenda Review of SMF 115 and SMF 116 class 3 data Hunting down the

More information

A document planned for on-going updates as additional tools are discovered and understood

A document planned for on-going updates as additional tools are discovered and understood WebSphere Application Server for z/os Introducing the IBM Support Assistant for WAS on z/os Setting up the IBM Support Assistant (ISA) Diagnostic Tools for WebSphere Application Server on z/os A document

More information

WebSphere Default Messaging

WebSphere Default Messaging SHARE Summer 2009 Denver, CO August 23-28 Session 1176 WebSphere Default Messaging Concepts common across all WebSphere platforms, but we show z/os here Don Bagwell dbagwell@us.ibm.com IBM Washington Systems

More information

Lecture 9a: Sessions and Cookies

Lecture 9a: Sessions and Cookies CS 655 / 441 Fall 2007 Lecture 9a: Sessions and Cookies 1 Review: Structure of a Web Application On every interchange between client and server, server must: Parse request. Look up session state and global

More information

WebSphere Application Server V7: Session Management

WebSphere Application Server V7: Session Management Chapter 12 of WebSphere Application Server V7 Administration and Configuration Guide, SG24-7615 WebSphere Application Server V7: Session Management Session support allows a Web application developer to

More information

As you learned in Chapter 1, the architectural variations you can construct using

As you learned in Chapter 1, the architectural variations you can construct using 2 Installation and Configuration Overview As you learned in Chapter 1, the architectural variations you can construct using WebSphere Application Server V6 range from the very simple to the fairly complex.

More information

9 th CA 2E/CA Plex Worldwide Developer Conference 1

9 th CA 2E/CA Plex Worldwide Developer Conference 1 1 Introduction/Welcome Message Organizations that are making major changes to or replatforming an application need to dedicate considerable resources ot the QA effort. In this session we will show best

More information

Servlet Performance and Apache JServ

Servlet Performance and Apache JServ Servlet Performance and Apache JServ ApacheCon 1998 By Stefano Mazzocchi and Pierpaolo Fumagalli Index 1 Performance Definition... 2 1.1 Absolute performance...2 1.2 Perceived performance...2 2 Dynamic

More information

Workload Management classification of requests in IBM HTTP Server for z/os Powered by Apache

Workload Management classification of requests in IBM HTTP Server for z/os Powered by Apache Workload Management classification of requests in IBM HTTP Server for z/os Powered by Apache WP101858 This document can be found on the web at: www.ibm.com/support/techdocs Search for document number WP101858

More information

DB2 is a complex system, with a major impact upon your processing environment. There are substantial performance and instrumentation changes in

DB2 is a complex system, with a major impact upon your processing environment. There are substantial performance and instrumentation changes in DB2 is a complex system, with a major impact upon your processing environment. There are substantial performance and instrumentation changes in versions 8 and 9. that must be used to measure, evaluate,

More information

Application Level Resource Monitoring of WebSphere z/os - DB2 JDBC Workloads

Application Level Resource Monitoring of WebSphere z/os - DB2 JDBC Workloads Application Level Resource Monitoring of WebSphere z/os - DB2 JDBC loads Robert Catterall David Follis IBM August 8, 2014 Session Number 15999 Insert Custom Session QR if Desired. 2 3 Insert Custom Session

More information

A "Top Down" Configuration Approach to WebSphere on Z

A Top Down Configuration Approach to WebSphere on Z WebSphere Application Server for z/os V6.1 A "Top Down" Configuration Approach to WebSphere on Z This document can be found on the web at: www.ibm.com/support/techdocs Search for document number WP101030

More information

Process- Concept &Process Scheduling OPERATING SYSTEMS

Process- Concept &Process Scheduling OPERATING SYSTEMS OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne PROCESS MANAGEMENT Current day computer systems allow multiple

More information

Introduction to Statistical SMF data

Introduction to Statistical SMF data Introduction to Statistical SMF data Lyn Elkins IBM ATS elkinsc@us.ibm.com Agenda What is SMF? What is MQ SMF? Overview of MQ statistical SMF Controlling the generation of the data Processing the data

More information

WebSphere Application Server Being the Backup Administrator. Mike Loos IBM Session Tuesday, August 7, :30 PM

WebSphere Application Server Being the Backup Administrator. Mike Loos IBM Session Tuesday, August 7, :30 PM WebSphere Application Server Being the Backup Administrator Mike Loos IBM Session 11375 Tuesday, August 7, 2012 4:30 PM mikeloos@us.ibm.com WebSphere Application Server on z/os Session Day Time Room Title

More information

IBM. User Guide. IBM Common Data Provider for z Systems. Version 1 Release 1

IBM. User Guide. IBM Common Data Provider for z Systems. Version 1 Release 1 IBM Common Data Provider for z Systems IBM User Guide Version 1 Release 1 IBM Common Data Provider for z Systems IBM User Guide Version 1 Release 1 ii Common Data Provider for z Systems: User Guide Figures

More information

Load Balancing 101: Nuts and Bolts

Load Balancing 101: Nuts and Bolts Load Balancing 101: Nuts and Bolts Load balancing technology is the basis on which today's Application Delivery Controllers operate. But the pervasiveness of load balancing technology does not mean it

More information

6.001 Notes: Section 15.1

6.001 Notes: Section 15.1 6.001 Notes: Section 15.1 Slide 15.1.1 Our goal over the next few lectures is to build an interpreter, which in a very basic sense is the ultimate in programming, since doing so will allow us to define

More information

WEBSPHERE APPLICATION SERVER

WEBSPHERE APPLICATION SERVER WEBSPHERE APPLICATION SERVER Introduction What is websphere, application server, webserver? WebSphere vs. Weblogic vs. JBOSS vs. tomcat? WebSphere product family overview Java basics [heap memory, GC,

More information

The Google File System

The Google File System October 13, 2010 Based on: S. Ghemawat, H. Gobioff, and S.-T. Leung: The Google file system, in Proceedings ACM SOSP 2003, Lake George, NY, USA, October 2003. 1 Assumptions Interface Architecture Single

More information

CS 167 Final Exam Solutions

CS 167 Final Exam Solutions CS 167 Final Exam Solutions Spring 2018 Do all questions. 1. [20%] This question concerns a system employing a single (single-core) processor running a Unix-like operating system, in which interrupts are

More information

The Dynamic Typing Interlude

The Dynamic Typing Interlude CHAPTER 6 The Dynamic Typing Interlude In the prior chapter, we began exploring Python s core object types in depth with a look at Python numbers. We ll resume our object type tour in the next chapter,

More information

Multiprocessor and Real- Time Scheduling. Chapter 10

Multiprocessor and Real- Time Scheduling. Chapter 10 Multiprocessor and Real- Time Scheduling Chapter 10 Classifications of Multiprocessor Loosely coupled multiprocessor each processor has its own memory and I/O channels Functionally specialized processors

More information

16 Sharing Main Memory Segmentation and Paging

16 Sharing Main Memory Segmentation and Paging Operating Systems 64 16 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per

More information

Scheduling Mar. 19, 2018

Scheduling Mar. 19, 2018 15-410...Everything old is new again... Scheduling Mar. 19, 2018 Dave Eckhardt Brian Railing Roger Dannenberg 1 Outline Chapter 5 (or Chapter 7): Scheduling Scheduling-people/textbook terminology note

More information

So, coming back to this picture where three levels of memory are shown namely cache, primary memory or main memory and back up memory.

So, coming back to this picture where three levels of memory are shown namely cache, primary memory or main memory and back up memory. Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 31 Memory Hierarchy: Virtual Memory In the memory hierarchy, after

More information

Using WebSphere Application Server Optimized Local Adapters (WOLA) to Integrate COBOL and zaap-able Java

Using WebSphere Application Server Optimized Local Adapters (WOLA) to Integrate COBOL and zaap-able Java Using WebSphere Application Server Optimized Local Adapters (WOLA) to Integrate COBOL and zaap-able Java David Follis IBM March 12, 2014 Session Number 14693 Insert Custom Session QR if Desired. Trademarks

More information

GUI ScreenIO Client/Server Layer Job Timeout Facility

GUI ScreenIO Client/Server Layer Job Timeout Facility Client/Server Layer Job Timeout Facility T he Server daemon supports idle job termination; the ability of the server to terminate jobs after a configurable period of user inactivity. This document explains

More information

MSMQ-MQSeries Bridge Configuration Guide White Paper

MSMQ-MQSeries Bridge Configuration Guide White Paper MSMQ-MQSeries Bridge Configuration Guide White Paper Published: November 2000 Table of Contents Table of Contents...1 Introduction...1 Definitions... 2 How the Bridge Works...5 MSMQ-MQSeries Bridge Installation...

More information

WebSphere Application Server for z/os - Batch Update -

WebSphere Application Server for z/os - Batch Update - WebSphere Application Server for z/os - Batch Update - John Hutchinson IBM March, 2012 - Atlanta SHARE Session 10562 WebSphere Application Server on z/os Session Day Time Room Title Speaker 10560 Monday

More information

Advanced Topics in Operating Systems

Advanced Topics in Operating Systems Advanced Topics in Operating Systems MSc in Computer Science UNYT-UoG Dr. Marenglen Biba 8-9-10 January 2010 Lesson 10 01: Introduction 02: Architectures 03: Processes 04: Communication 05: Naming 06:

More information

Best Practices. Deploying Optim Performance Manager in large scale environments. IBM Optim Performance Manager Extended Edition V4.1.0.

Best Practices. Deploying Optim Performance Manager in large scale environments. IBM Optim Performance Manager Extended Edition V4.1.0. IBM Optim Performance Manager Extended Edition V4.1.0.1 Best Practices Deploying Optim Performance Manager in large scale environments Ute Baumbach (bmb@de.ibm.com) Optim Performance Manager Development

More information

Distributed Systems. Pre-Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2015

Distributed Systems. Pre-Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2015 Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 Selected Questions From Past Exams October 2, 2015 CS 417 - Paul Krzyzanowski

More information

Applying Code Generation Approach in Fabrique Kirill Kalishev, JetBrains

Applying Code Generation Approach in Fabrique Kirill Kalishev, JetBrains november 2004 Applying Code Generation Approach in Fabrique This paper discusses ideas on applying the code generation approach to help the developer to focus on high-level models rather than on routine

More information

How WLM routing and HA Manager work together in WebSphere Application Server ND

How WLM routing and HA Manager work together in WebSphere Application Server ND IBM Software Group How WLM routing and HA Manager work together in WebSphere Application Server ND Krishna Jaladhi (krishnaj@us.ibm.com) Kumaran Nathan(kumaran@us.ibm.com) WebSphere Application Server

More information

IBM. JES2 Delivery Services. z/os. Version 2 Release 3

IBM. JES2  Delivery Services. z/os. Version 2 Release 3 z/os IBM JES2 Email Delivery Services Version 2 Release 3 Note Before using this information and the product it supports, read the information in Notices on page 31. This edition applies to Version 2 Release

More information

Programming Project. Remember the Titans

Programming Project. Remember the Titans Programming Project Remember the Titans Due: Data and reports due 12/10 & 12/11 (code due 12/7) In the paper Measured Capacity of an Ethernet: Myths and Reality, David Boggs, Jeff Mogul and Chris Kent

More information

JES2 Bootcamp Part 1 of 2 What is JES2 and what does it do

JES2 Bootcamp Part 1 of 2 What is JES2 and what does it do JES2 Bootcamp Part 1 of 2 What is JES2 and what does it do Tom Wasik IBM Rochester, MN wasik@us.ibm.com Wednesday 9:30AM Session Number 15325 Mainframe 50 April 7th 1964 - April 7th 2014 http://www.ibm.com/mainframe50/

More information

Future, Past & Present of a Message

Future, Past & Present of a Message Whitepaper Future, Past & Present of a Message Whitepaper Future, Past and Present of a Message by Patrick De Wilde i What is wrong with the above title? No, I do not mean to write about The Message in

More information

Lesson 4 Transcript: DB2 Architecture

Lesson 4 Transcript: DB2 Architecture Lesson 4 Transcript: DB2 Architecture Slide 1: Cover Welcome to Lesson 4 of the DB2 on campus series. Today we are going to talk about the DB2 architecture. My name is Raul Chong and I am the DB2 on Campus

More information

How to Get Your Inbox to Zero Every Day

How to Get Your Inbox to Zero Every Day How to Get Your Inbox to Zero Every Day MATT PERMAN WHATSBESTNEXT.COM It s possible to get your email inbox to zero and keep it there, even if you get hundreds of emails a day. It s not super complicated,

More information

WLM Quickstart Policy Update

WLM Quickstart Policy Update WLM Quickstart Policy Update Cheryl Watson Session 2541; SHARE 101 in Washington, D.C. August 12, 2003 Watson & Walker, Inc. publishers of Cheryl Watson s TUNING Letter & BoxScore WLM Quickstart Policy

More information

Multi-Level Feedback Queues

Multi-Level Feedback Queues CS 326: Operating Systems Multi-Level Feedback Queues Lecture 8 Today s Schedule Building an Ideal Scheduler Priority-Based Scheduling Multi-Level Queues Multi-Level Feedback Queues Scheduling Domains

More information

Planning Guide and Reference

Planning Guide and Reference WebSphere Application Server z/os Version 7 WebSphere Optimized Local Adapters Planning Guide and Reference Version Date: November 12, 2012 See "Document Change History" on page 22 for a description of

More information

Lecture Notes on Advanced Garbage Collection

Lecture Notes on Advanced Garbage Collection Lecture Notes on Advanced Garbage Collection 15-411: Compiler Design André Platzer Lecture 21 November 4, 2010 1 Introduction More information on garbage collection can be found in [App98, Ch 13.5-13.7]

More information

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved.

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved. Configuring the Oracle Network Environment Objectives After completing this lesson, you should be able to: Use Enterprise Manager to: Create additional listeners Create Oracle Net Service aliases Configure

More information

! Design constraints. " Component failures are the norm. " Files are huge by traditional standards. ! POSIX-like

! Design constraints.  Component failures are the norm.  Files are huge by traditional standards. ! POSIX-like Cloud background Google File System! Warehouse scale systems " 10K-100K nodes " 50MW (1 MW = 1,000 houses) " Power efficient! Located near cheap power! Passive cooling! Power Usage Effectiveness = Total

More information

10 MONITORING AND OPTIMIZING

10 MONITORING AND OPTIMIZING MONITORING AND OPTIMIZING.1 Introduction Objectives.2 Windows XP Task Manager.2.1 Monitor Running Programs.2.2 Monitor Processes.2.3 Monitor System Performance.2.4 Monitor Networking.2.5 Monitor Users.3

More information

zwas-irl (WebSphere Application Server on z/os - In Real Life)

zwas-irl (WebSphere Application Server on z/os - In Real Life) zwas-irl (WebSphere Application Server on z/os - In Real Life) Rod Feak MIB, Inc. rfeak@mib.com David Follis IBM February 4, 2013 Session Number # 12185 Trademarks The following are trademarks of the International

More information

Technotes: Cognos BI for z/os with WebSphere Application Serverfor z/os worker threads

Technotes: Cognos BI for z/os with WebSphere Application Serverfor z/os worker threads Technotes: Cognos BI 8.4.1 for z/os with WebSphere Application Serverfor z/os worker threads Cognos BI 8.4.1 for z/os and WebSphere for z/os worker thread utilization Cognos for z/os will utilize a single

More information

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies CSCD 433/533 Priority Traffic Advanced Networks Spring 2016 Lecture 21 Congestion Control and Queuing Strategies 1 Topics Congestion Control and Resource Allocation Flows Types of Mechanisms Evaluation

More information

Mapping Application Modules to Multiple Servers using WSADMIN

Mapping Application Modules to Multiple Servers using WSADMIN WebSphere for z/os Version 6 Mapping Application Modules to Multiple Servers using WSADMIN This document can be found on the web at: www.ibm.com/support/techdocs Search for document number WP100xxx under

More information

Performing Basic System Management

Performing Basic System Management This module describes the basic tasks that you can perform to manage the general system features of the Cisco IOS software--those features that are generally not specific to a particular protocol. Finding

More information

HiperDispatch Logical Processors and Weight Management

HiperDispatch Logical Processors and Weight Management HiperDispatch Logical Processors and Weight Management Fabio Massimo Ottaviani EPV Technologies August 2008 1 Introduction In the last few years, the power and number of the physical processors available

More information

BEAAquaLogic. Service Bus. Native MQ Transport User Guide

BEAAquaLogic. Service Bus. Native MQ Transport User Guide BEAAquaLogic Service Bus Native MQ Transport User Guide Version: 2.6 RP1 Revised: November 2007 Contents Introduction to the Native MQ Transport Advantages of Using the Native MQ Transport................................

More information

The Web Version of this chapter is split into 4 pages - this is page 2 - page contents are as follows:

The Web Version of this chapter is split into 4 pages - this is page 2 - page contents are as follows: http://wwwmvsbookfsnetcouk/chap03bhtm 1 of 6 11/2/2001 1:47 PM MVS Systems Programming Home Chapter 3b - MVS Internals Contents The Web Version of this chapter is split into 4 pages - this is page 2 -

More information

OPERATING SYSTEMS CS136

OPERATING SYSTEMS CS136 OPERATING SYSTEMS CS136 Jialiang LU Jialiang.lu@sjtu.edu.cn Based on Lecture Notes of Tanenbaum, Modern Operating Systems 3 e, 1 Chapter 5 INPUT/OUTPUT 2 Overview o OS controls I/O devices => o Issue commands,

More information

Chapter 1: Distributed Information Systems

Chapter 1: Distributed Information Systems Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier

More information

IBM Systems. Oracle and the ziip processor. G. Tom Russell IBM Canada Ltd. MVS Oracle SIG April 30, 2008 Redwood Shores, CA

IBM Systems. Oracle and the ziip processor. G. Tom Russell IBM Canada Ltd. MVS Oracle SIG April 30, 2008 Redwood Shores, CA Oracle and the ziip processor G. Tom Russell IBM Canada Ltd. Tom_Russell@ca.ibm.com MVS Oracle SIG April 30, 2008 Redwood Shores, CA Agenda IBM System z What is a ziip processor? z/os software support

More information

Improving VSAM Application Performance with IAM

Improving VSAM Application Performance with IAM Improving VSAM Application Performance with IAM Richard Morse Innovation Data Processing August 16, 2004 Session 8422 This session presents at the technical concept level, how IAM improves the performance

More information

the NXT-G programming environment

the NXT-G programming environment 2 the NXT-G programming environment This chapter takes a close look at the NXT-G programming environment and presents a few simple programs. The NXT-G programming environment is fairly complex, with lots

More information

JSR The Future of Java Batch and WebSphere Compute Grid

JSR The Future of Java Batch and WebSphere Compute Grid JSR 352 - The Future of Java Batch and WebSphere Compute Grid David Follis IBM Insert Custom Session QR if Desired WebSphere Application Server Session Title Time Room 17363 Debug 101-Using ISA Tools for

More information

IP subnetting made easy

IP subnetting made easy Version 1.0 June 28, 2006 By George Ou Introduction IP subnetting is a fundamental subject that's critical for any IP network engineer to understand, yet students have traditionally had a difficult time

More information

15 Sharing Main Memory Segmentation and Paging

15 Sharing Main Memory Segmentation and Paging Operating Systems 58 15 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per

More information

IBM Education Assistance for z/os V2R2

IBM Education Assistance for z/os V2R2 IBM Education Assistance for z/os V2R2 Items: JES2 Growth: Grow from 400K to 1M Active jobs JES2 Growth: Grow checkpoint without cold start JES2 Growth: Dynamic Checkpoint tuning Element/Component: JES2

More information

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore Module No # 09 Lecture No # 40 This is lecture forty of the course on

More information