Platform products
- Red Hat Enterprise Linux A flexible, stable operating system to support hybrid cloud innovation.
- Red Hat OpenShift A container platform to build, modernize, and deploy applications at scale.
- Red Hat Ansible Automation Platform A foundation for implementing enterprise-wide automation.
- Start a trial Assess a product with a no-cost trial.
- Buy online Buy select products and services in the Red Hat Store.
- Red Hat Enterprise Linux AI New
- Red Hat OpenShift AI
- Red Hat OpenShift Virtualization
- Red Hat OpenShift Service on AWS
- Microsoft Azure Red Hat OpenShift
- Application platform Simplify the way you build, deploy, manage, and secure apps across the hybrid cloud.
- Artificial intelligence Build, deploy, and monitor AI models and apps with Red Hat's open source platforms.
- Edge computing Deploy workloads closer to the source with security-focused edge technology.
- IT automation Unite disparate tech, teams, and environments with 1 comprehensive automation platform.
- Linux standardization Get consistency across operating environments with an open, flexible infrastructure.
- Security Deliver software using trusted platforms and real-time security scanning and remediation.
- Virtualization Modernize operations using a single platform for virtualized and containerized workloads.
By industry
- Financial services
- Industrial sector
- Media and entertainment
- Public sector
- Telecommunications
- Open Innovation Labs
- Technical Account Management
Training & certification
- All courses and exams
- All certifications
- Verify a certification
- Skills assessment
- Learning subscription
- Learning community
- Red Hat Academy
- Connect with learning experts
- Ansible Basics: Automation Technical Overview (No cost)
- Containers, Kubernetes and Red Hat OpenShift Technical Overview (No cost)
- Red Hat Enterprise Linux Technical Overview (No cost)
- Red Hat Certified System Administrator exam
- Red Hat System Administration I
- Application modernization
- Cloud computing
- Cloud-native applications
Edge computing
- Virtualization
- See all topics
- What is InstructLab? New
- What are cloud services?
- What is edge computing?
- What is hybrid cloud?
- Why build a Red Hat cloud?
- Cloud vs. edge
- Red Hat OpenShift vs. Kubernetes
- Learning Ansible basics
- What is Linux?
More to explore
- Customer success stories
- Events and webinars
- Podcasts and video series
- Documentation
- Resource library
- Training and certification
For customers
- Our partners
- Red Hat Ecosystem Catalog
- Find a partner
For partners
- Partner Connect
- Become a partner
- Access the partner portal
- Our company
- How we work
- Our social impact
- Development model
- Subscription model
- Product support
Open source
- Open source commitments
- How we contribute
- Red Hat on GitHub
Company details
- Analyst relations
Recommendations
As you browse redhat.com, we'll recommend resources you may like. For now, try these.
- All Red Hat products
- Tech topics
- Red Hat resources
Select a language
- Training & services
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
Applications
- Cloud services
Infrastructure
Open hybrid cloud, original shows, improving the resource efficiency for openshift clusters via trimaran schedulers.
- Back to all posts
Challenges of Resource Management
In OpenShift, as a developer, you can optionally specify how much of each resource (CPU, memory and others) a container needs via setting the request and the limit of resources. The Request is what the container is guaranteed to get. The total request of all containers in a pod is then used by the scheduler to determine which node to place the pod on.
Setting resource requests in practice is hard.
Setting the request for a container is not a trivial task. In practice, developers are known to grossly over-provision resources for their containers to avoid under-provisioning risks, including pod evictions due to out-of-memory errors and application performance issues due to insufficient resources. Setting requests way above the actual usage can lead to significant resource over-provisioning and very low resource efficiency. These resources are reserved but not actually used. Setting the requests too low or completely ignoring the requests cannot solve the problem either, as there is no QoS guarantee for your containers.
Benchmarking is cumbersome and may not be feasible for all workloads.
Some may advocate the idea of benchmarking the resource usage of containers under a realistic load to understand what should be set for requests. However, for applications involving tens of microservices, purely benchmarking these microservices one by one requires a considerable amount of manual effort and resource consumption, which go against our purpose of resource efficiency. Besides, generating a realistic load for each microservice is an impossible mission, as you never know how dynamic or heterogeneous the user queries will be.
Overcommitting is risky.
Configuring clusters to place pods on over-committing nodes will definitely save more resources when pods set requests that are too large. However, how much resources are over-provisioned really varies from developer to developer? Some applications may have 2 CPU cores over-provisioned while others may only have 200 milicores. When their actual usage is not considered, and they are both scheduled to the same node allowing over-commitment, the application with more over-provisioning will eventually get more resources during the busy times. Then, all developers tend to allocate more for their applications. Eventually, there will always be some applications that do not over-provision enough and will have poor performance.
Objective: Efficient Resource Management
Cluster admins usually complain that the overall cluster resource utilization is very low. Still, Kubernetes is not able to schedule any more workload in the cluster. However, they are reluctant to resize their containers as these requests are set to handle the peak usage. Such a peak usage-based resource allocation leads to a forever-increasing cluster scale, extremely low utilization of computing resources most of the time, and a huge amount of machine costs.
The main objective for a cluster that runs stable production services is minimizing machine costs by efficiently using all nodes. To achieve this goal, the Kubernetes scheduler can be made aware of the gap between resource allocation and actual resource utilization. A scheduler that takes advantage of the gap may help pack pods more efficiently, while the default scheduler that only considers pod requests and allocable resources on nodes cannot. There are two main goals that are currently targeted as part of this work: Maintaining node utilization at a certain level, and balancing the utilization variation across nodes.
Maintaining node utilization at a certain level
Increasing resource utilization as much as possible may not be the right solution for all clusters. Since scaling up a cluster to handle the sudden spikes of load always takes time, cluster admins would like to leave adequate room for the bursty load to make sure there is enough time to add more nodes to the cluster.
Given the prior observation on the real workload, one cluster-admin finds that the load has some seasonality and periodically increases. However, resource utilization always increases x% before new nodes can be added to the cluster. The cluster-admin wants to maintain the cluster to have all nodes with the average utilization around or below 100 - x%.
Balancing the risk at peak usage
In some circumstances, scheduling pods to maintain the average utilization on all nodes is also risky because how the utilization of different nodes vary is not known..
For example, suppose two nodes have a capacity of 8 CPUs, and only 5 are requested on each. In that case, the two nodes will be deemed equivalent (assuming everything else is identical) by the default scheduler. However, the node scoring algorithm can be extended to favor the node with less average actual utilization over a given period (for example, the last 6 hours).
If both Node 1 and Node 2 are equally favorable according to the average actual utilization over a given period, the scoring algorithm that only considers the average utilization cannot differentiate these two nodes and may randomly select one of those, as shown in the above figure.
However, by looking at historical data and the actual CPU utilization on the node, it is clear that the resource utilization on Node 2 has more variations than on Node 1. Therefore, at peak hours, its utilization is more likely to exceed the total capacity or the targeted utilization level. Node 1 should be favored to replace the new pod to prevent the risk of under-provisioning in peak hours and to guarantee a better performance for the new pod.
In addition to efficient scheduling according to the actual usage, an advanced scheduler that can balance the risks of resource contention during peak usage is needed.
Trimaran: Real Load Aware Scheduling
To minimize operating costs, the scheduler can be made aware of the gap between its declarative resource allocation model and actual resource utilization. Pods can be packed more efficiently in a lower number of nodes compared to the default scheduler, which only considers pod requests and allocable resources on nodes with its default plug-ins.
There are two scheduling strategies available to enhance the existing scheduling in OpenShift: TargetLoadPacking and LoadVariationRiskBalancing under the Trimaran schedulers to address this problem. It currently supports metric providers like Prometheus, SignalFx & Kubernetes Metrics Server. The plug-ins provide scheduling support for all pod QoS guarantees.
Maintaining node utilization at the specified level: TargetLoadPacking Scheduler Plug-in
Many users would like to keep some room in CPU usage for their applications as a buffer with a threshold value while minimizing the number of nodes. The TargetLoadPacking plug-in is designed to achieve this. TargetLoadPacking strategy packs workload on nodes until a target percent of utilization is achieved on all nodes. Then, it starts spreading workload among all nodes. The benefit of using the TargetLoadPacking strategy is that all running nodes maintain a target utilization, so no nodes are under-utilized. However, it does not overload a particular node too much when the cluster is almost full, which leaves some room for applications’ load variations.
Balancing risks of utilization variation: LoadVariationRiskBalancing Scheduler Plug-in
It is well-known that the Kubernetes scheduler relies on the requested resources, rather than the actual resource usage. Thus, this may lead to contention and imbalance in the cluster. Extending the default scheduler, with some kind of load awareness, attempts to solve this issue. The question is what aspects of load variation ought to be employed by the scheduler. The measure that is most commonly used is the average, or moving average, resource utilization. Though simple, it does not capture the variation of utilization over time. In this scheduling strategy, the idea is to enhance the average with the standard deviation measure that leads to a well-balanced cluster, as far as the risk of resource contention is concerned. The LoadVariationRiskBalancing scheduling strategy uses a simple yet effective priority function that combines measurements of average and standard deviation of node utilizations.
System Design and Implementation
We developed the Trimaran scheduler , which works on live node utilization values, to efficiently use cluster resources and save costs. As part of this, we developed and contributed the Load Watcher, TargetLoadPacking plug-in , and LoadVariationRiskBalancing plug-in to the open-source community.
The below graph shows the design of the load-aware scheduling framework. In addition to the default Kubernetes scheduler, a load watcher that can retrieve, aggregate, and analyze resource usage metrics periodically from metric providers such as Prometheus is added. It also caches the analysis results and exposes those to scheduler plug-ins to filter and score nodes. By default, the load watcher retrieves five-minute history metrics every minute and caches the analysis results. However, the frequency of retrieving can be configured.
Using an HTTP server to serve data queries is optional as load watchers can also annotate nodes with analyzed data. However, using annotation is not as flexible and scalable as the REST API. Suppose some advanced predictive analytics is needed to integrate with scheduler plug-ins. In that case, it is easier to use the REST API to pass more data to scheduler plug-ins. The amount of data to cache in the annotation is limited.
The Trimaran plug-ins use a load watcher to access resource utilization data via metrics providers. Currently, the load watcher supports three metrics providers: Kubernetes Metrics Server , Prometheus Server , and SignalFx .
There are two modes for a Trimaran plug-in to use the load watcher: as a service or as a library.
- Load watcher as a service: In this mode, the Trimaran plug-in uses a deployed load-watcher service in the cluster as depicted in the figure below. A watcherAddress configuration parameter is required to define the load-watcher service endpoint. The load-watcher service may also be deployed in the same scheduler pod.
- Load watcher as a library: In this mode, the Trimaran plug-in embeds the load watcher as a library, which in turn accesses the configured metrics provider. In this case, we have three configuration parameters: metricProvider.type, metricProvider.address, and metricProvider.token.
Enabling load-aware scheduling plug-in(s) will cause conflict with two default scoring plug-ins: “NodeResourcesLeastAllocated” and “NodeResourcesBalancedAllocation” score plug-ins. It is strongly advised to disable them.
TargetLoadPacking plug-in aims to score nodes according to their actual usage. Eventually, all nodes' utilization can be maintained at a level, x%. It works in two stages, as shown in the figure below. When most nodes in the cluster are idle, the scoring function will favor nodes with the maximum utilization below x%. When all nodes have utilization around or above x%, the scoring function will favor nodes with the minimum utilization. Essentially, it packs workload on nodes until all nodes have around x% utilization and then spreads workload to balance the load on nodes.
A load-aware scheduler that uses only average resource utilization figures may not be enough as variations in the utilization on a node also impact the performance of containers running on that node. The jitter in resource availability to containers over time affects the execution and behavior of the application comprising such containers. Hence, the load-aware scheduler should consider both the average utilization as well as the variation in utilization. A motivating example was mentioned above, where a load-aware scheduler that balances risk should favor the more-stable node for placement of a new pod.
The Load Variation Risk Balancing Plugin scores the nodes based on equalizing the risk, defined as a combined measure of average utilization and variation in utilization among nodes. It supports CPU and memory resources. It relies on a load watcher to collect resource utilization measurements from the nodes via metrics providers, such as Prometheus and Kubernetes Metrics.
The Load Variation Risk Balancing Plug-in is implemented using the Kubernetes Scheduler Framework as a Scheduler Plug-in using the Score extension point. The scheduler plug-in calls the load watcher as a means to get node measurement data about average and standard deviation of CPU and memory utilization. In turn, the load watcher employs a metrics provider such as Prometheus and Kubernetes Metrics. A resource risk factor is defined as a combined measure of the average and standard deviation of the resource utilization. The resource risk factor is evaluated for CPU and memory resources on a node. The node risk factor is taken as the worse of the two resource risk factors. The node score is evaluated as negatively proportional to the node risk factor.
As far as balancing a cluster is concerned and given average and standard deviation utilization measures for all nodes in the cluster, there are basically four ways for a load-aware scheduler to achieve balancing:
- Balance load: Equalize the average utilization among nodes, irrespective of variations.
- Balance variability: Equalize the standard deviation of the utilization of nodes, irrespective of averages.
- Balance relative variability: Equalize the coefficient of variation (defined as the ratio of standard deviation over average utilization) among nodes.
- Balance risk: Equalize the risk factor (defined as a weighted sum of average and standard deviation of utilization) among nodes. These four ways of balancing a cluster are depicted in the figure below.
Deploy Trimaran Schedulers on OpenShift
OpenShift users can deploy Trimaran schedulers by following the tutorial of Custom Scheduling documentation to deploy Trimaran schedulers as an additional scheduler in OpenShift clusters.
In the following, an example load-aware scheduler that is running out-of-tree scheduler plug-ins is deployed. The scheduler that runs out-of-tree plug-ins needs to run a certain version of the scheduler plug-in image and pass a KubeSchedulerConfiguration to the scheduler binary in the scheduler deployment. For example, the configuration needed to run a load-aware scheduler can be found here .
- Configure plug-ins for a load-aware scheduler. A load-aware scheduler that runs the TargetLoadPacking plugin can be configured as the following:
- To pass the KubeSchedulerConfiguration info to the scheduler binary, it can be mounted as a ConfigMap or mounted as a local file on the host. Here we wrap it as a ConfigMap trimaran-scheduler-config.yaml , to be mounted as a volume in the scheduler deployment. A namespace trimaran for all load aware scheduler resources has been created.
- Accordingly, create a deployment for the load aware scheduler:
Configure metric Provider as Prometheus ① .
Obtain the Prometheus route URL in ② .
Get the Prometheus token value ③
With the Trimaran scheduler plug-ins, users can achieve basic load-aware scheduling that is not implemented in the default Kubernetes scheduler. Trimaran plug-ins can either balance the usage on nodes so that all nodes reach a certain percentage of utilization, or it can prioritize nodes that have lower risk when overcommitting the pods. Trimaran plug-ins can also be used together with overcommitment for better efficiency.
Trimaran plug-ins can further be extended. One extension could be enabling multidimensional bin packing for other types of resources including networking bandwidth and GPU usage. Another extension could be adding more ML or AI models in prediction of pod/node utilization for better scheduling. For the LoadVariationRiskBalancing plug-in, an extension can be made to consider the probability distribution of resource utilization, rather than just the first (average) and second (variance) moments of the distribution. In such a case, the risk may be calculated in relation to the tail of the distribution, which captures the probability of utilization being higher than a configured value. Also, prediction techniques may be applied to anticipate resource utilization, rather than relying solely on past measured utilization.
All types of contributions and comments are welcomed on the following project repositories:
- Trimaran: Load-aware scheduling plug-ins
- Load Watcher : A cluster-wide resource usage metric aggregation and analysis tool.
About the authors
Asser tantawi, more like this, empower your data center with leading compute, networking, and storage solutions, managing image mode for rhel with red hat insights, transforming your acquisition, transforming your timelines | code comments, browse by channel.
The latest on IT automation for tech, teams, and environments
Artificial intelligence
Updates on the platforms that free customers to run AI workloads anywhere
Explore how we build a more flexible future with hybrid cloud
The latest on how we reduce risks across environments and technologies
Updates on the platforms that simplify operations at the edge
The latest on the world’s leading enterprise Linux platform
Inside our solutions to the toughest application challenges
Entertaining stories from the makers and leaders in enterprise tech
- See all products
- Customer support
- Developer resources
- Red Hat value calculator
Try, buy, & sell
- Product trial center
- Red Hat Marketplace
- Red Hat Store
- Buy online (Japan)
Communicate
- Contact sales
- Contact customer service
- Contact training
- About Red Hat
We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.
Red Hat legal and privacy links
- Contact Red Hat
- Red Hat Blog
- Diversity, equity, and inclusion
- Cool Stuff Store
- Red Hat Summit
- Privacy statement
- Terms of use
- All policies and guidelines
- Digital accessibility
Free Shipping in the US on Orders $75+
Item added to your cart
The complete list of trimarans.
There is no single trimaran that is best for everyone. Where some prefer luxury cruisers for long trips with family and friends, others might opt for a high performance racing tri for thrilling rides at breakneck speeds. With the recent spike in trimaran popularity, these days there is a perfect tri for every sailor. So to help prospective trimaran owners decide which boat is just right for them, we here at WindRider have put together a comprehensive list of the best trimarans on the market today! Read through for simple at-a-glance trimaran comparisons of boats both big and small, exhilarating and relaxing, and for all price points.
Jump to a specific sailing trimaran: Neel Weta Corsair WindRider Dragonfly Catri Astus Hobie Sea Pearl Farrier Sea Cart Multi 23 Triak SeaRail Warren Lightcraft Diam Radikal Challenger
Known for their award-winning luxury trimarans, NEEL is based in La Rochelle, the capital city of sailing in France. NEEL trimarans are built for fast cruising with an average cruising speed of about 10 knots, and are even configured to facilitate that sustained speed under motor propulsion. The NEEL 45 was notably named Cruising World’s Most Innovative Vessel in 2013, and by all accounts is an easy-to-sail, high performance boat that is just plain fun.
At a glance:
Models: NEEL 45, 65
Length: 45’ – 65’
Cost: $$$$$
Use: Luxury cruiser
A fan favorite, Weta trimarans are fast, stable, and remarkably easy to rig. This single-sailor tri has a capacity of up to three, and the ease with which it can be transported and stored makes this a great, versatile boat for beginners. The Weta was named Sailing World’s 2010 Boat of the Year, and one ride is enough to know why: simply put, the Weta is an absolute ton of fun to sail regardless of skill level.
Models: Weta
Length: 14’5”
Cost: $$ $$$
The high-end Corsair trimaran definitely holds its own in the categories of versatility, performance, and convenience. Boasting a rigging time of 30 minutes from trailer to sailor , the Corsair 42 – whose convenient folding amas makes trailering possible – is a simple option even for single sailors, though cabin space is suitable for two adults. These boats are wicked fast, capable of reaching speeds of 20+ knots, and were made for skilled sailors seeking solid construction and high performance vessels, not for beginners.
Models: Pulse 600, Sprint 750 MKII, Dash 750 MKII, Corsair 28, Cruze 970, Corsair 37, Corsair 42
Length: 19’8” – 37’
Cost: $$$$ $
Use: Sports cruisers
Built for the sailor who wants to maximize the joys of sailing while minimizing any hassle, WindRider trimarans are notoriously fast, very safe, and a blast to sail from start to finish. With several models that can hold between 1 and 6 riders, including adaptive designs to allow participation from sailors of all levels of mobility, there’s something to suit every sailor’s needs. The WindRider 17, an exhilarating ride perfect for families or camper sailors, has been known to reach speeds of up to 20mph. This easy day sailor goes from trailer to sailing in under 30 minutes and is sure to fit in perfectly with whatever adventures you have planned.
Models: WR 16, 17, Tango, Rave V
Length: 10’11” – 18’3”
Cost: $ $$$$
Use: Day sailor
The Danish-built Dragonfly trimarans come in a variety of models ranging from 25’ – 35’, all known for their spry performance, comfortable ride, and ease of use. Every model comes equipped with the unique “SwingWing” feature, a motorized system that can unfold the amas even while the boat is already underway – making it accessible to marinas and slips, and even makes trailering possible. Perfect for those who don’t want to sacrifice their comfort for high performance, the Dragonfly can breeze along at 13 knots while remaining one of the quietest compact cruisers out there.
Models: Dragonfly 25, 28, 32, 35, 1200
Length: 25’ – 39’
Designed for both safe cruising as well as for high speed racing, Catri trimarans will make your day. Especially noteworthy is the Catri 25, a stable yet wildly fast foiling trimaran with accommodations for up to 6 people. With profiles optimized for speeds of 25+ knots when foiling, this is no beginner’s sailboat. The special attention paid to stability in the foil design allows the Catri to be a single sailor vessel, even at foiling speed, with no special physical abilities. Whether you’re taking a small crew for longer rides at shuddering speeds or bringing the whole family along for a shorter, but still thrilling sail, the Catri is truly one of a kind.
Models: Catri 25
Length: 25’
Use: Cruiser/racer
A popular brand of trimaran in Europe, Astus has recently made its way to the US market to the delight of sailors on this side of the pond. Designed to offer maximum pleasure with minimum hassle, all models of Astus trimarans are fast to set up, quick on the water, inherently stable, and always a joy to sail. Their outriggers are mounted on telescopic tubes for easy stowage and towing, and can even be extended and retracted on the water for access to narrow passageways and monohull slips in marinas. With models in all sizes and price points, Astus trimarans are a great option for any sailor.
Models: Astus 16.5, 18.2, 20.2, 22, 24
Cabin: Some models
Length: 16’ – 24’
Use: Sport cruisers
HOBIE ADVENTURE ISLAND
Great for beginners and adventurers alike, the Hobie Mirage Adventure Island series is nothing if not just plain fun. With the option to use as a kayak or as a very basic trimaran, the Hobie is transportable, versatile, unintimidating, lightweight, and wonderfully affordable. The pedal system known as “Mirage Drive” allows a person to pedal the kayak using their legs for an extra kick of movement in slow winds. Amas tuck close to the main hull for docking or car-topping, adding serious ease and convenience to the exhilarating experience of the Hobie.
Models: Hobie Mirage Adventure Island, Mirage Tandem Island
Length: 16’7” – 18’6”
Use: Convertible kayak/trimarans
Best known for its use in camp cruising excursions, the Sea Pearl offers a roomy main hull and particular ability to sail in very shallow waters, making beaching and launching a breeze. The lightweight Sea Pearl trimaran is easy to tow, and the larger-than-expected cabin opens this vessel up for overnight adventures with plenty of storage space. The simple design makes the Sea Pearl notoriously low maintenance, and the ease it takes to rig and sail it add to the overall delight of owning this boat.
Models: Sea Pearl
Length: 21’
Use: Camper cruiser
Quick, lightweight, roomy, and trailerable, Farrier trimarans are made for versatility to fit every sailor’s needs. Different Farrier models are available in plan or kit boat form for those who appreciate building their boat themselves, but of course, also as the full production sail-away boat for the rest of us. Single-handed rigging and launching takes under 10 minutes from start to finish, minimizing hassle and getting you on the water fast. All non-racing Farrier designs use a minimum wind capsize speed of 30 knots or more to ensure safety for all those aboard. Add the roomy cabin and high speed capabilities to the equation and you’ve got a boat that is great fun for everyone.
Models: F-22, 24, 25, 82, 27, 28, 31, 9A, 9AX, 9R, 32, 33, 33R, 33ST, 36, 39, 41, 44R
Length: 23’ – 39’4”
Cost: $$$ $$
Use: Sport cruisers/racers
One of the biggest names in the game, SeaCart is internationally noted for its high performance trimarans that far exceed expectations for a production boat of its size. The SeaCart trimaran performs as brilliantly off the water as it does on with its super-light and efficient harbor folding system, making light work of trailering. Notoriously easy to manage and maintain, the SeaCart 26 One Design is the ultimate day racing trimaran, designed for both course and inshore/coastal distance racing. Absolutely worth the international buzz it has garnered, the SeaCart is a thrill from beginning to end.
Models: SeaCart 26
Length: 26’
A high performance racer class, the Multi 23 is a lightweight, powerful trimaran known for its wicked speed of up to 25 knots. Multi trimarans of both available configurations were designed to give beach cat thrills and speed without any of the stability or seaworthy concerns. Open ocean sailing is no issue for the Multi’s big bows, which do their job to keep her stable. Built for sailors with a need for speed, the Multi makes a perfect weekend boat for racers, especially those with a taste for boat camping.
Models: Multi 23
Length: 23’
Another dual outrigger sailing kayak/canoe design, the Triak trimaran was designed to be effortless and fun, especially for beginners. Paddle the kayak with sails furled, use the foot pedals for an extra kick of momentum, or sail with just the mainsail – the only boat in its class to feature an asymmetrical spinnaker – for exhilarating speeds and a blast on the water. Car-top the Triak anywhere for a quick sail or plan for a week long expedition, but always count on having a great time on this easy little boat.
Models: Triak
Length: 18’
Use: Convertible kayak/trimaran
SeaRail trimarans are known for being affordable, light weight, trailerable trimarans that offer the perfect combination of exciting and relaxing experiences to a wide range of sailors. Whether it’s day sailing with your family, resort or camper sailing, SeaRail trimarans are ideal leisure vessels. Leave the hassle to the other boats – the SeaRail takes you from trailer to sailor in 15 minutes. But don’t let its reputation as a leisure tri fool you: if speed is what you want, rest assured that the SeaRail can deliver that as well.
Models: SeaRail 19
WARREN LIGHTCRAFT
Warren Lightcraft trimarans , another example of a convertible kayak-to-sailboat option, are known for their aesthetically pleasing designs that are also, as the name implies, very light for simple transportation and ease of use. Convert the kayak into a fast, high performance sailboat in just minutes, fly around on the waves all day long, then simply car-top the 68lb Warren for a maximum enjoyment, low-hassle day on the water. Perfect for sailors and paddlers of all skill levels, the Warren Lightcraft is the best of both worlds and an absolute joy to sail.
Models: Warren Lightcraft
Length: 15’6”
Built strictly with racing in mind, the Diam 24 is a light, powerful one-design class trimaran and a notoriously exceptional performer. Boasting blistering speeds of up to 30 knots, Diam trimarans are not intended for beginners. For racers who crave the very best in terms of intense speeds, smooth handling and impeccable performance, the Diam is the red-hot one-design racing tri for you.
Models: Diam 24
Length: 24’
For the sailor who prefers the finer things in life, the Radikal 26 delivers. Perfect for bringing the whole family out for a day on the water, this high performance, trailerable sailing trimaran strikes the most luxurious balance between quicksilver speeds and a smooth, comfortable ride. The Radikal 26 trimaran is as convenient to transport and set up as it is pleasant to sail, with a folding system that minimizes rigging hassle and also makes this a trailerable tri. Built for a fast and comfortable sail rather than a hold-onto-your-seats thrill, one-the-water safety and overall pleasure makes the Radikal 26 what it is.
Models: Radikal 26
Use: Sport cruiser
A solidly-built, single-handed trimaran, the Challenger also doubles as an adaptive design – meaning it is made to accommodate sailors of all levels of physical mobility. Best suited to lakes, the Challenger is a very safe, seaworthy boat for sailors of all ages and experience levels. Add to this the ease of owning, transporting and maintaining the Challenger trimaran and what you get is a simple, fun sailboat perfect both for beginners and those seeking a cheap thrill alike.
Models: Challenger
At a glance comparison:
Astus 16.5, 18.2, 20.2, 22, 24 | 16’ – 24’ | Sport cruiser | Some models | ||
Catri 25 | 25’ | Cruiser/racer | Y | ||
Challenger | - | Day sailor | N | ||
Pulse 600, Sprint 750 MKII, Dash 750 MKII, Cruze 970, Corsair 28, 37, 42 | 19’8” – 37’ | Sport cruisers | Y | ||
Diam 24 | 24’ | Racer | N | ||
Dragonfly 25, 28, 32, 35, 1200 | 25’ – 39’ | Luxury cruiser | Y | ||
F-22, 24, 25, 82, 27, 28, 31, 9A, 9AX, 9R, 32, 33, 33R, 33ST, 36, 39, 41, 44R | 23’ – 39’ 4” | Sport cruisers/racers | Y | ||
Mirage Island, Mirage Tandem Island | 16’7” – 18’6” | Convertible kayak/trimarans | N | ||
Multi 23 | 22’ | Racer | Y | ||
NEEL 45, 65 | 44’ – 65’ | Luxury cruiser | Y | ||
Radikal 26 | 26’ | Sport cruiser | Y | ||
Sea Pearl | 21’ | Camper cruiser | Y | ||
SeaCart 26 | 26’ | Racer | Y | ||
SeaRail 19 | 18’ | Day sailor | N | ||
Triak | 18’ | Convertible kayak/trimaran | N | ||
Warren Lightcraft | 15’6” | Convertible kayak/trimaran | N | ||
Weta | 14’5” | Racer | N | ||
WR 16, 17, Tango, Rave V | 10’11” – 18’3” | Day sailor | N |
Did we miss one? Let us know. Tell us what you sail and what you like about each boat in the comments below.
- Choosing a selection results in a full page refresh.
- Opens in a new window.
- Triumphal arch
- Typewriter keyboard
- Vending machine
- Waffle iron
- Water bottle
- Water tower
- Whiskey jug
- Window screen
- Window shade
- Windsor tie
- Wine bottle
- Wooden spoon
- Crossword puzzle
- Street sign
- Traffic light
- Book jacket
- French loaf
- Cheeseburger
- Mashed potato
- Head cabbage
- Cauliflower
- Spaghetti squash
- Acorn squash
- Butternut squash
- Bell pepper
- Granny smith
- Custard apple
- Pomegranate
- Chocolate sauce
- Scuba diver
- Yellow lady slipper
- Coral fungus
- Hen-of-the-woods
- Toilet tissue
Trimaran (871) ¶
Trimaran (class id 871) has 2 important concepts. The full class name is trimaran.
Strategic cluster graph ¶
This graph displays the points classified as 'Trimaran' projected in 2D (using T-SNE) based on the importance of their concepts. Therefore, two points are close if they have been classified for the same concepts. The color of each point (image) is determined by the 'most important' concept. Thus, points with the same color share the same 'most important' concept.
Please refer to the following section for visualizations of the concepts.
Concepts visualization ¶
Below, you'll find a visualization of the class concepts. Simply Click on a concept to see natural images that strongly activate that specific concept. The important concepts are highlighted in color and are the ones that are the most important for at least 10 points (images).
Similar concepts ¶
We have found 21 similar concepts between the class trimaran and other classes.
Where does the base for most new design work come from?
A reader recently asked, "Are there any rules or formula to follow when starting a new boat design or are they created more by eye and experience? If the former, can you briefly explain what they cover and historically where they came from?"
This is an interesting question but one that could fill several volumes if answered in detail! However, Here is an abridged overview of the situation and where we came from. First, let's take a brief look at the historical base of modern naval architecture.
Ships and boats have been around for LONG time. Their design was then indeed one of eye and limited experience. But a few thinking people tried to learn the effects of various changes in hull shape through model testing—and a couple of famous names come to mind.
Around 1500, Leonardo di Vinci reportedly made 3 models and tested them, while one of the first known Americans was Benjamin Franklin in 1764. But it was a William Froude in England who was the first to discover a way to correctly upscale the model data for full size craft. He was born 200 years ago, on November 28th 1810.
Froude's initial involvement with ships was to study dynamic stability but then he got a commission to try and create more efficient hull shapes. The Admiralty funded the first test tank in his home town of Torquay, UK (1872) and he was soon testing models and devising a way to compare them with the full scale ship—now known as his Law of Comparison and involved the now famous 'Froude Number' or Fn.
In its dimensional form, Fn is also known as the Speed/Length Ratio and is equal to Velocity (in knots), divided by the square root of the Waterline Length (in feet). It's really worth remembering this ratio, as it enables floating boats of vastly different sizes to be compared, as far as many of their characteristics are concerned.
Between 1868 and 1874, Froude went on to test all sorts of hulls and the first 'bible' on ship design was written based on many of his discoveries. Although more recent tests throughout the USA, Europe and now even Asia, have further refined the data, Froude's principles have basically remained intact.
He created numerous Coefficients as ways to compare different shapes and tested displacement forms with varying proportions and ratios. He also did a series of tests on flat planing surfaces with steps in them, spurred by ideas from a Rev. Ramus. He also discovered that hull resistance was primarily made up of two components that varied independently from each other… namely frictional resistance and wave-making resistance and devised ways to calculate each from model tests. For the former, he did an extensive series of tests with surfaces of different types to establish frictional coefficients that are still considered valid today.
Around 1886, a man named D.W. Taylor, a graduate from the US naval academy, went to England to study at the Royal Naval College and learned of Froude's work.
Once back in the US, he had Washington build an even larger test tank (1900) and then conducted a more extensive series of tests with an updated ship form, now known by naval architects world wide as the Taylor Series .
Later, a systematic series for classic planing hulls were conducted in England and called the Series 62 and these covered a fairly wide range of lengths and breadths.
In 1900, there were only 5 known model test tanks in the world. But there are now over 100, so many other Test Series have followed, and each provides a wealth of information for naval architects worldwide, as to what effect various proportions have on resistance, dynamic stability and sea kindliness.
One of the first test series to interest multihull designers was one presented by E.P. Clement in 1961, covering the test results for planing catamaran hulls . Although there is no time or space to discuss any of these tests here, many of them are now available on the web.
As far as modern multihulls are concerned, perhaps no one has used model test data more extensively than the renowned UK designer John Shuttleworth, and his early trimaran Brittany Ferries GB once held the cross-Atlantic record.
Editors note: See Interview with John Shuttleworth in this INTERVIEW section, also available via the HOMEPAGE.
Formulae and Coefficients
As noted above, the Froude Speed/Length ratio is very significant in boat design. Most descriptions and findings re hull resistance are directly related to it. For example it has been shown that a displacement hull creates a wave equal to its length at a S/L ratio of 1.34 and at that point, there's such a hump in the resistant curve that most ships cannot exceed it without a change in shape. Creating a flat planing surface, to give lift and effectively extend the boat's length through a flat wake aft, typically does this, but this can only be achieved with enough continuous power, something a sailboat cannot guarantee.
Other Coefficients of interest to the multihull designer are dimensional ones like the slenderness ration L/b, or the Prismatic Coefficient, (the volume of displacement divided by the product of maximum underwater cross-sectional area × L), which allows a designer to assess and compare the fullness of the boat ends. There are also basic ones like Length to Beam, Sail Area to Displacement and many other useful ways to compare one design with another, for performance, stability and sail balance. But these coefficients and ratios only serve to establish guidelines when designing by comparison and a lot of experience needs to be added-in to adjust these in the right way, as the purpose and size of any new design is considered.
Working from a series of controlled model tests could certainly help create better designs , but sadly, model testing has become very expensive and too few multihull designers avail themselves of the services.
Although a number of very interesting and revealing test series have been conducted in the last 20 years, few of them are out in the public domain. This means, that most multihull designers are tweaking older designs little by little, to hopefully arrive at something better.
It's been a safe way to go, and has produced some really high performing craft, but there is always the possibility that some aspects have been overlooked or that changes are canceling each other out and only very controlled tests can help to identify such issues.
Ships, by comparison, are almost always developed after reference to model tank tests—either through specific ones, or to the standard test series that now exist and are readily available. Even small boat designers could learn more from examining these tests, as through the power of the Speed/Length ratio, data can be readily downsized and anyway, most test models are just 10-20 feet long!!
"New articles, comments and references will be added periodically as new questions are answered and other info comes in relative to this subject, so you're invited to revisit and participate." —webmaster
"See the Copyright Information & Legal Disclaimer page for copyright info and use of ANY part of this text or article"
This package is not in the latest version of its module.
Trimaran: Load-aware scheduling plugins
Trimaran is a collection of load-aware scheduler plugins described in Trimaran: Real Load Aware Scheduling .
Currently, the collection consists of the following plugins.
- TargetLoadPacking : Implements a packing policy up to a configured CPU utilization, then switches to a spreading policy among the hot nodes. (Supports CPU resource.)
- LoadVariationRiskBalancing : Equalizes the risk, defined as a combined measure of average utilization and variation in utilization, among nodes. (Supports CPU and memory resources.)
The Trimaran plugins utilize a load-watcher to access resource utilization data via metrics providers. Currently, the load-watcher supports three metrics providers: Kubernetes Metrics Server , Prometheus Server , and SignalFx .
There are two modes for a Trimaran plugin to use the load-watcher : as a service or as a library.
load-watcher as a service
In this mode, the Trimaran plugin uses a deployed load-watcher service in the cluster as depicted in the figure below. A watcherAddress configuration parameter is required to define the load-watcher service endpoint. For example,
Instructions on how to build and deploy the load-watcher can be found here . The load-watcher service may also be deployed in the same scheduler pod, following the tutorial here .
load-watcher as a library
In this mode, the Trimaran plugin embeds the load-watcher as a library, which in turn accesses the configured metrics provider. In this case, we have three configuration parameters: metricProvider.type , metricProvider.address and metricProvider.token .
The configuration parameters should be set as follows.
- KubernetesMetricsServer (default)
- http://prometheus-k8s.monitoring.svc.cluster.local:9090
- metricProvider.token : set only if an authentication token is needed to access the metrics provider.
The selection of the load-watcher mode is based on the existence of a watcherAddress parameter. If it is set, then the load-watcher is in the 'as a service' mode, otherwise it is in the 'as a library' mode.
In addition to the above configuration parameters, the Trimaran plugin may have its own specific parameters.
Following is an example scheduler configuration.
Configure Prometheus Metric Provider under different environments
- Invalid self-signed SSL connection error for the Prometheus metric queries The Prometheus metric queries may have invalid self-signed SSL connection error when the cluster environment disables the skipInsecureVerify option for HTTPs. In this case, you can configure insecureSkipVerify: true for metricProvider to skip the SSL verification.
- OpenShift Prometheus authentication without tokens. The OpenShift clusters disallow non-verified clients to access its Prometheus metrics. To run the Trimaran plugin on OpenShift, you need to set an environment variable ENABLE_OPENSHIFT_AUTH=true for your trimaran scheduler deployment when run load-watcher as a library.
A note on multiple plugins
The Trimaran plugins have different, potentially conflicting, objectives. Thus, it is recommended not to enable them concurrently. As such, they are designed to each have its own load-watcher.
Documentation ¶
- func GetMuSigma(rs *ResourceStats) (float64, float64)
- func GetResourceData(metrics []watcher.Metric, resourceType string) (avg float64, stDev float64, isValid bool)
- func GetResourceRequested(pod *v1.Pod) *framework.Resource
- type Collector
- func NewCollector(trimaranSpec *pluginConfig.TrimaranSpec) (*Collector, error)
- func (collector *Collector) GetNodeMetrics(nodeName string) ([]watcher.Metric, *watcher.WatcherMetrics)
- type PodAssignEventHandler
- func New() *PodAssignEventHandler
- func (p *PodAssignEventHandler) AddToHandle(handle framework.Handle)
- func (p *PodAssignEventHandler) OnAdd(obj interface{})
- func (p *PodAssignEventHandler) OnDelete(obj interface{})
- func (p *PodAssignEventHandler) OnUpdate(oldObj, newObj interface{})
- type ResourceStats
- func CreateResourceStats(metrics []watcher.Metric, node *v1.Node, podRequest *framework.Resource, ...) (rs *ResourceStats, isValid bool)
Constants ¶
Variables ¶.
This section is empty.
Functions ¶
Func getmusigma ¶.
GetMuSigma : get average and standard deviation from statistics
func GetResourceData ¶
GetResourceData : get data from measurements for a given resource type
func GetResourceRequested ¶
GHetResourceRequested : calculate the resource demand of a pod (CPU and Memory)
type Collector ¶
Collector : get data from load watcher, encapsulating the load watcher and its operations
Trimaran plugins have different, potentially conflicting, objectives. Thus, it is recommended not to enable them concurrently. As such, they are currently designed to each have its own Collector. If a need arises in the future to enable multiple Trimaran plugins, a restructuring to have a single Collector, serving the multiple plugins, may be beneficial for performance reasons.
func NewCollector ¶
NewCollector : create an instance of a data collector
func (*Collector) GetNodeMetrics ¶
GetNodeMetrics : get metrics for a node from watcher
type PodAssignEventHandler ¶
This event handler watches assigned Pod and caches them locally
Returns a new instance of PodAssignEventHandler, after starting a background go routine for cache cleanup
func (*PodAssignEventHandler) AddToHandle ¶
AddToHandle : add event handler to framework handle
func (*PodAssignEventHandler) OnAdd ¶
Func (*podassigneventhandler) ondelete ¶, func (*podassigneventhandler) onupdate ¶, type resourcestats ¶.
ResourceStats : statistics data for a resource
func CreateResourceStats ¶
CreateResourceStats : get resource statistics data from measurements for a node
Source Files ¶
- collector.go
- resourcestats.go
Directories ¶
Path | Synopsis |
---|---|
Package loadvariationriskbalancing plugin attempts to balance the risk in load variation across the cluster. | |
Keyboard shortcuts
: This menu | |
: Search site | |
or | : Jump to |
or | : Canonical URL |
IMAGES
VIDEO
COMMENTS
Trimaran: Load-aware scheduling plugins. Trimaran is a collection of load-aware scheduler plugins described in Trimaran: Real Load Aware Scheduling. Currently, the collection consists of the following plugins. TargetLoadPacking: Implements a packing policy up to a configured CPU utilization, then switches to a spreading policy among the hot nodes.
Trimaran (Load-Aware Scheduling) Network-Aware Scheduling; Additionally, the kube-scheduler binary includes the below list of sample plugins. These plugins are not intended for use in production environments. Cross Node Preemption; Pod State; Quality of Service
Minimizing machine costs by utilizing all nodes is the main objective for efficient cluster management. To achieve this goal, we can make the Kubernetes scheduler aware of the gap between resource allocation and actual resource utilization. Taking advantage of the gap may help pack pods more ...
Package loadvariationriskbalancing plugin attempts to balance the risk in load variation across the cluster.
Trimaran: Load-aware scheduling plugins. Trimaran is a collection of load-aware scheduler plugins described in Trimaran: Real Load Aware Scheduling. Currently, the collection consists of the following plugins. TargetLoadPacking: Implements a packing policy up to a configured CPU utilization, then switches to a spreading policy among the hot nodes.
Details. Valid go.mod file . The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go. Redistributable license
The following presents a brief overview of Trimaran. A more elaborate overview appears in Lecture Notes in Computer Science. Trimaran is an integrated compiler and simulation infrastructure for research in computer architecture and compiler optimizations. Trimaran is highly parameterizable, and can target a wide range of architectures that ...
There are two scheduling strategies available to enhance the existing scheduling in OpenShift: TargetLoadPacking and LoadVariationRiskBalancing under the Trimaran schedulers to address this problem. It currently supports metric providers like Prometheus, SignalFx & Kubernetes Metrics Server.
Trimaran Tutorial 23 The infrastructure is used for designing, implementing, and testing new compilation modules to be incorporated into the back end. - These phases may augment or replace existing ILP optimization modules. - New modules may be the result of research in scheduling, register
A bit different from the automatic installation steps above, using scheduler-plugins as a single scheduler needs some manual steps. The main obstacle here is that we need to reconfigure the vanilla scheduler, but it's challenging to get it automated as how it's deployed varies a lot (i.e., deployment, static pod, or an executable binary managed by systemd).
Rather, it is intended to get the Trimaran user started using the system as soon as possible. The manual tells you how to install and run Trimaran, gives a concise description of each component of the system, and contains pointers to the im. ortant files that should be perused in order to carry out compil. ction of documents as follows:This intr.
Trimaran: Load-aware scheduling plugins. Trimaran is a collection of load-aware scheduler plugins described in Trimaran: Real Load Aware Scheduling. Currently, the collection consists of the following plugins. TargetLoadPacking: Implements a packing policy up to a configured CPU utilization, then switches to a spreading policy among the hot nodes.
These boats are wicked fast, capable of reaching speeds of 20+ knots, and were made for skilled sailors seeking solid construction and high performance vessels, not for beginners. At a glance: Models: Pulse 600, Sprint 750 MKII, Dash 750 MKII, Corsair 28, Cruze 970, Corsair 37, Corsair 42. Cabin: Yes.
GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 330 million projects. ... Add a description, image, and links to the trimaran topic page so that developers can more easily learn about it. Curate this topic Add this topic to your repo To associate your repository with ...
This SUIF release offers new features and improved robustness for compilation with newer versions of GCC (3.2.3, 3.4.6, and 4.0.3). The primary enhancement is the support for the restrict keyword. Our SUIF distribution features bug fixes and several enhancements to SUIF version 1.3.0.5. Download:
This graph displays the points classified as 'Trimaran' projected in 2D (using T-SNE) based on the importance of their concepts. Therefore, two points are close if they have been classified for the same concepts. The color of each point (image) is determined by the 'most important' concept. Thus, points with the same color share the same 'most ...
Trimaran 支持三种打分插件,我们使用 LoadVariationRiskBalancing 来综合 CPU、内存实际使用情况为 Node 节点打分。 以下我们以 1.26 版本的 Kubernetes 为例,为集群更换 Scheduler Plugins 调度器,并启用调度器的 Trimaran 插件、以及为 Trimaran 配置 LoadVariationRiskBalancing 打分算法。
trimaran has 2 repositories available. Follow their code on GitHub.
Small Trimarans Report Back in 2010, sailor/naval architect Mike Waters published a 22-page report covering 20 small trimarans. It includes charts, graphs, photos, and critical objective reporting on many of them.
1 Introduction. Trimaran is an integrated compiler and simulation infrastructure for research in computer architecture and compiler optimizations. Trimaran is highly parameterizable, and can target a wide range of architectures that embody embedded processors, high-end VLIW processors, and multi-clustered architectures.
As noted above, the Froude Speed/Length ratio is very significant in boat design. Most descriptions and findings re hull resistance are directly related to it. For example it has been shown that a displacement hull creates a wave equal to its length at a S/L ratio of 1.34 and at that point, there's such a hump in the resistant curve that most ...
Details. Valid go.mod file . The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go. Redistributable license