Document 7507333

Download Report

Transcript Document 7507333

Earth System Research Laboratory
Global Systems Division
Technology Outreach Branch
AWIPS II Thin Client Development
Jebb Stewart
NOAA/ESRL/GSD
Affiliated with Colorado State University
Cooperative Institute for Research in the Atmosphere (CIRA)
September 29th
Project Overview
Thin Client OSIP Documents at Gate Three
AWIPS II Thin Client Analysis and Evaluation
GSD AWIPS II Thin Client Development - 2
Development Objectives
• Extend CAVE to support:
 Center Weather Service Units (CWSUs)
 Weather Service Offices (WSOs)
 Incident Support Specialists (ISS) including
Incident Meteorologists (IMETs)
 NCEP Centers to partially support Continuity of
Operations Planning (COOP)
 River Forecast Centers (RFCs)
GSD AWIPS II Thin Client Development - 3
Development Objectives
(Continued)
• To enable Common AWIPS Visualization Environment (CAVE) to
work outside local area network.
• Add Windows OS Compatibility
• Low bandwidth and capability to work on any type of internet access
(satellite/BGAN, wireless, local network) requirements.
• Many base requirements have been pulled from FX-Net program.
• Thin Client Requirements document contains many more.
GSD AWIPS II Thin Client Development - 4
Results From Analysis
• Analysis was performed on new versions of CAVE as they were
released. Last in depth analysis was R1G1-3.
• Basically Functionality (ie Weather “Browsing”) works.
• Some Missing Requirements.
• Performance Problems within Windows Environment need to be
resolved.
GSD AWIPS II Thin Client Development - 5
AWIPS II Remote Mode
• AWIPS II has built in capability to run in “Remote” Mode
• “Remote” mode no longer requires HDF5 file mount and
accesses all data through HTTP
• To enable “Remote” mode.
– Add or uncomment line “awips.mode=client“
– In regular CAVE installation
{CAVE_INSTALLATION_PATH}/configuration/config.ini
– In ADE
com.raytheon.viz.product.awips -> config.ini
GSD AWIPS II Thin Client Development - 6
AWIPS II Remote Mode
Ports Required
Service Name
Port Number
Capability
Localization Service
9581
This service is used to load
localization configuration
during startup and requests
for data. (Required)
Messaging Service
(AMQP)
5672
This service feeds product
meta information such as
product inventory and new
product notification.
Remote Access Gained using either SSH Tunnels or VPN
connection
GSD AWIPS II Thin Client Development - 7
Possible Client Types Explored
AWIPS 2 Built and optimized on Linux. How do we provide a
multiple OS solution?
Virtual Desktop
• A remote desktop capability using NoMachine (NX) technology
where CAVE runs on a remote server and user views the screen as
it changes (similar to a streaming movie).
Virtual Machine
• On client hardware, A virtual machine is running an instance of
Linux operating system using VirtualBox software. CAVE runs
natively on Linux OS within Virtual Machine and is viewed on client.
Native Windows
• CAVE runs natively on Windows operating system
GSD AWIPS II Thin Client Development - 8
Virtual Client
Pros
Cons
Risks
Proposed Action
• CAVE running in Linux native
mode. (No porting necessary)
• Perceived performance • Requires high network
• Evaluate single client
is highly dependent
availability.
instance load/demand
upon network
running on one server.
• One well-known TCP/IP port
• Requires additional
availability.
(SSH).
hardware cost on server • Evaluate multiple client
• Hardware must scale
side.
instances running on one
• Simple X-Windows client
with number of
interface.
• Video driver compatibility server.
connected clients.
(low risk).
• Evaluate other scalability
• Minimal systems administration
options (cloud, etc.).
support required.
• Evaluate NX web client.
• Efficient bandwidth utilization.
• Verify proper video drivers.
GSD AWIPS II Thin Client Development - 9
Virtual Machine
Pros
• CAVE running in Linux native
mode. (No porting necessary)
• Available on multiple
operating systems
• Some line offices already use
this solution for AWIPS 1 D/2D with effective results and
minimal logistical impact.
Cons
• Unknown additional
security requirements
for two operating
systems running on
one machine.
• OpenGL support
minimal in Virtual
Machine software.
• Poorest performance
of all offered solutions.
Risks
• Security may restrict
access to one or both
TCP/IP ports.
• Undefined security
policy for virtual
machine on Windows.
• Users’ need
administration expertise
for virtual machine
Proposed Action
• Assess TCP/IP port
hardening issues.
• Determine NWS security
policies.
• Feasibility evaluation.
• Monitor Open GL
development in Virtual
Machine software.
GSD AWIPS II Thin Client Development - 10
Native Windows
Pros
• Native binaries mean best
performance of all evaluated
options.
• No Linux system
administration needed on
client-side.
Cons
• Modifications and
optimization required
to run in Windows
Environment.
• Each new version of
CAVE needs to be
modified to support
Windows OS
Environment.
Risks
• Third party tools / APIs
may need
porting/testing.
• All Test Cases may need
to be re-ran in Windows
Environment
Proposed Action
• Assess TCP/IP port
hardening issues.
• Gather requirements for
third-party tools.
GSD AWIPS II Thin Client Development - 11
Use Case Matrix
Client Type
Security Impact
Virtual Client
Low
Virtual Machine
Native Windows
Failure Impacts
CWSU Use Case
(High Availability/High
Speed)
WSO Use Case
IMET Use Case
(High
(Moderate-Low
Availability/Moderate Availability/Moderate-Low
Speed)
Speed)
Moderate (3 points of
failure):
Virtual Client.
CAVE client.
EDEX Server.
No
Yes
No
Moderate
High (4 points of failure):
Virtual Machine.
Platform – VM
interface.
CAVE client.
EDEX server.
Yes
Yes
No
Moderate
Low (2 points of failure):
CAVE client
EDEX server
Yes
Yes
Yes
GSD AWIPS II Thin Client Development - 12
Porting To Windows
Items Required
•
Need proper Eclipse environment. 3.4.1
•
Setup Python 2.6 – Including additional support libraries (NUMPY, SCIPY,
etc…)
–
•
Setup JAVA, 1.6 Plus Additional Libraries
–
•
Java Imaging, Java imaging IO, JAVA 3D.
Modifications to code
–
–
–
•
Verify libraries available in site-packages on Linux
Path Problems (“C:\\users\jstewart”) incorrectly appended to all file paths
Newer JEP version slightly different API.
Script Template Path Problems
Native Library Support – libmeteolib (Contouring), JEP (Python
interaction).
–
Used Cygwin to recompile missing native libraries
GSD AWIPS II Thin Client Development - 13
Porting to Windows
Issues
• OpenGL/Graphics Card interaction messy, refreshing canvas
problems.
• Delay problems. Items behind the scenes take longer than on
Linux and using client without waiting results in errors.
• UI (Creating widgets, alerts) needs additional work.
GSD AWIPS II Thin Client Development - 14
Porting to Windows
Future Items
• As new releases are created, need to verify portability of
changes.
• Any extensions created may require additional porting if not
100% java.
• Only Basic Functionality has been tested on Windows OS,
Other tools (ie GFE …) require further testing
GSD AWIPS II Thin Client Development - 15
Other Thin Client Development
• Improve bandwidth utilization by using compression on Thrift
objects.
• Google Earth Export.
• Other Missing Requirements.
GSD AWIPS II Thin Client Development - 16
Questions?
Discussion
GSD AWIPS II Thin Client Development - 17